master
zyl 6 months ago
parent 7ecce0dfbc
commit 3fa7895cc5

@ -55,7 +55,7 @@ class CommentAdmin(admin.ModelAdmin):
u'<a href="%s">%s</a>' %
(link, obj.author.nickname if obj.author.nickname else obj.author.email))
# 自定义方法:显示文章链接
#自定义方法:显示文章链接
def link_to_article(self, obj):
# 获取文章模型的admin URL信息
info = (obj.article._meta.app_label, obj.article._meta.model_name)

@ -1,5 +1,5 @@
from django.apps import AppConfig
# 评论应用的配置类
#评论应用的配置类
class CommentsConfig(AppConfig):
name = 'comments'# 指定应用名称为'comments',对应安装的应用名

@ -4,7 +4,7 @@ from django.forms import ModelForm # 导入模型表单基类
from .models import Comment # 从当前应用导入Comment模型
# 评论表单类
#评论表单类
class CommentForm(ModelForm):
# 父评论ID用于回复功能隐藏输入框非必填
# 该字段不在模型中,仅用于表单处理嵌套评论

@ -14,6 +14,7 @@ class Migration(migrations.Migration):
('blog', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
# 数据库操作列表
operations = [
# 创建Comment模型

@ -12,8 +12,8 @@ class Migration(migrations.Migration):
operations = [
# 修改is_enable字段将默认值从True改为False评论默认不显示
migrations.AlterField(
model_name='comment',# 模型名称
name='is_enable',# 字段名称
model_name='comment',#模型名称
name='is_enable',#字段名称
field=models.BooleanField(default=False, verbose_name='是否显示'),# 新字段定义
),
]

@ -54,7 +54,7 @@ class Migration(migrations.Migration):
name='author',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='author'),
),
# 修改字段is_enable的verbose_name国际化
#修改字段is_enable的verbose_name国际化
migrations.AlterField(
model_name='comment',
name='is_enable',

@ -37,7 +37,7 @@ class Comment(models.Model):
null=True,
on_delete=models.CASCADE)
# 是否启用/显示评论默认False需审核
#是否启用/显示评论默认False需审核
is_enable = models.BooleanField(_('enable'),
default=False, blank=False, null=False)

@ -66,7 +66,7 @@ class CommentsTest(TransactionTestCase):
self.assertEqual(response.status_code, 302) # 验证重定向
# 断言:评论未审核时不显示
#断言:评论未审核时不显示
article = Article.objects.get(pk=article.pk)
self.assertEqual(len(article.comment_list()), 0)

@ -6,7 +6,7 @@ from . import views
app_name = "comments"
# URL模式列表
urlpatterns = [
# 文章评论提交接口
#文章评论提交接口
# 捕获整数类型article_id参数映射到CommentPostView视图
path(
'article/<int:article_id>/postcomment',

@ -40,4 +40,4 @@ def send_comment_email(comment):
tomail = comment.parent_comment.author.email # 被回复者邮箱
send_email([tomail], subject, html_content)
except Exception as e:
logger.error(e)# 记录邮件发送异常
logger.error(e)#记录邮件发送异常

@ -16,7 +16,7 @@ class CommentPostView(FormView):
form_class = CommentForm# 指定使用的表单类
template_name = 'blog/article_detail.html'# 表单无效时渲染的模板
# 为视图添加CSRF保护
#为视图添加CSRF保护
@method_decorator(csrf_protect)
def dispatch(self, *args, **kwargs):
return super(CommentPostView, self).dispatch(*args, **kwargs)

Loading…
Cancel
Save