parent
d2aa71b9ea
commit
dc81f144d2
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
@version: ??
|
||||||
|
@author: liangliangyy
|
||||||
|
@license: MIT Licence
|
||||||
|
@contact: liangliangyy@gmail.com
|
||||||
|
@site: https://www.lylinux.org/
|
||||||
|
@software: PyCharm
|
||||||
|
@file: forms.py
|
||||||
|
@time: 2016/11/12 下午2:45
|
||||||
|
"""
|
||||||
|
from .models import Comment
|
||||||
|
from django import forms
|
||||||
|
from django.forms import ModelForm
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
"""
|
||||||
|
class CommentForm(forms.Form):
|
||||||
|
url = forms.URLField(label='网址', required=False)
|
||||||
|
email = forms.EmailField(label='电子邮箱', required=False)
|
||||||
|
name = forms.CharField(label='姓名')
|
||||||
|
body = forms.CharField(widget=forms.Textarea, label='评论')
|
||||||
|
parent_comment_id = forms.IntegerField(widget=forms.HiddenInput, required=False)
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class CommentForm(ModelForm):
|
||||||
|
url = forms.URLField(label='网址', required=False)
|
||||||
|
if User.is_authenticated:
|
||||||
|
email = forms.EmailField(label='电子邮箱', required=False, widget=forms.HiddenInput)
|
||||||
|
name = forms.CharField(label='姓名', widget=forms.HiddenInput)
|
||||||
|
else:
|
||||||
|
email = forms.EmailField(label='电子邮箱', required=False)
|
||||||
|
name = forms.CharField(label='姓名')
|
||||||
|
# body = forms.CharField(widget=forms.Textarea, label='评论')
|
||||||
|
parent_comment_id = forms.IntegerField(widget=forms.HiddenInput, required=False)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Comment
|
||||||
|
fields = ['body']
|
||||||
|
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
@version: ??
|
||||||
|
@author: liangliangyy
|
||||||
|
@license: MIT Licence
|
||||||
|
@contact: liangliangyy@gmail.com
|
||||||
|
@site: https://www.lylinux.org/
|
||||||
|
@software: PyCharm
|
||||||
|
@file: urls.py
|
||||||
|
@time: 2016/11/12 下午3:03
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.conf.urls import url
|
||||||
|
from . import views
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
# url(r'^postcomment/(?P<article_id>\d+)$', views.CommentPostView.as_view(), name='postcomment'),
|
||||||
|
url(r'^article/(?P<article_id>\d+)/postcomment$', views.CommentPostView.as_view(), name='postcomment'),
|
||||||
|
]
|
||||||
@ -1,3 +1,47 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
from .models import Comment
|
||||||
|
from blog.models import Article
|
||||||
|
from .forms import CommentForm
|
||||||
|
from django.views.generic.edit import FormView
|
||||||
|
from django.http import HttpResponseRedirect
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
from accounts.models import BlogUser
|
||||||
|
|
||||||
|
|
||||||
|
class CommentPostView(FormView):
|
||||||
|
form_class = CommentForm
|
||||||
|
template_name = 'blog/articledetail.html'
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
article_id = self.kwargs['article_id']
|
||||||
|
url = reverse('blog:detail', kwargs={'article_id': article_id})
|
||||||
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
|
def form_invalid(self, form):
|
||||||
|
article_id = self.kwargs['article_id']
|
||||||
|
article = Article.objects.get(pk=article_id)
|
||||||
|
|
||||||
|
return self.render_to_response({
|
||||||
|
'form': form,
|
||||||
|
'article': article
|
||||||
|
})
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
"""提交的数据验证合法后的逻辑"""
|
||||||
|
article_id = self.kwargs['article_id']
|
||||||
|
article = Article.objects.get(pk=article_id)
|
||||||
|
if not self.request.user.is_authenticated():
|
||||||
|
pass
|
||||||
|
author_id = self.request.user.pk
|
||||||
|
|
||||||
|
comment = form.save(False)
|
||||||
|
|
||||||
|
comment.author = BlogUser.objects.get(pk=author_id)
|
||||||
|
|
||||||
|
comment.article = article
|
||||||
|
comment.save(True)
|
||||||
|
return HttpResponseRedirect('/')
|
||||||
|
|||||||
Loading…
Reference in new issue