1
1
# Create your views here.
2
- from django import forms
3
- from django .contrib .auth import get_user_model
4
2
from django .http import HttpResponseRedirect
3
+ from django .utils .decorators import method_decorator
4
+ from django .views .decorators .csrf import csrf_protect
5
5
from django .views .generic .edit import FormView
6
6
7
7
from blog .models import Article
@@ -13,6 +13,10 @@ class CommentPostView(FormView):
13
13
form_class = CommentForm
14
14
template_name = 'blog/article_detail.html'
15
15
16
+ @method_decorator (csrf_protect )
17
+ def dispatch (self , * args , ** kwargs ):
18
+ return super (CommentPostView , self ).dispatch (* args , ** kwargs )
19
+
16
20
def get (self , request , * args , ** kwargs ):
17
21
article_id = self .kwargs ['article_id' ]
18
22
@@ -23,16 +27,6 @@ def get(self, request, *args, **kwargs):
23
27
def form_invalid (self , form ):
24
28
article_id = self .kwargs ['article_id' ]
25
29
article = Article .objects .get (pk = article_id )
26
- u = self .request .user
27
-
28
- if self .request .user .is_authenticated :
29
- form .fields .update ({
30
- 'email' : forms .CharField (widget = forms .HiddenInput ()),
31
- 'name' : forms .CharField (widget = forms .HiddenInput ()),
32
- })
33
- user = self .request .user
34
- form .fields ["email" ].initial = user .email
35
- form .fields ["name" ].initial = user .username
36
30
37
31
return self .render_to_response ({
38
32
'form' : form ,
@@ -45,13 +39,7 @@ def form_valid(self, form):
45
39
46
40
article_id = self .kwargs ['article_id' ]
47
41
article = Article .objects .get (pk = article_id )
48
- if not self .request .user .is_authenticated :
49
- email = form .cleaned_data ['email' ]
50
- username = form .cleaned_data ['name' ]
51
42
52
- user = get_user_model ().objects .get_or_create (
53
- username = username , email = email )[0 ]
54
- # auth.login(self.request, user)
55
43
comment = form .save (False )
56
44
comment .article = article
57
45
0 commit comments