这节主要是对发表的文章的评论做工作
主要动作有,显示数据库评论->让登录用户能够写评论->将评论内容写往数据库里
一:将数据库写好的评论显示在网页上
1.{%load comments%}
加载Django自带评论系统插件,记住这是插件
2.{%get_comment_count for lfi as comment_count%}
{{comment_count}}
得到文章函数的评论数,lfi是传向网页 的变量
3.{%get_comment_list for lfi as comment_list%}
{%for comment in comment_list reversed%}
{{comment.submit_date}}
<br>
{{comment.comment}}
<br>
<hr>
{%endfor%}
显示数据库评论内容,在for语句中用的reserved关键字,是将评论内容按照时间倒序排列
二:让登录用户能够写评论
登录的用户能显示评论框,而未登录的用户 不显示评论框
三:将上传数据卸载评论表里
之前导入import django_comments as comments
def detail(req,lfi_id):
lfi=models.LFI.objects.get(id=lfi_id)
comment=req.POST.get("comment_content")
if comment:
comments.models.Comment.objects.create(
content_type_id=7,#lfi表的ID是7,表示添加的评论是卸载里表上的
object_pk=lfi.id,#表示为lfi表中第几个元素添加评论,
site_id=1,#和settings中配置一定
user=req.user,#添加评论的用户,是登录用户
comment=comment,#写上评论内容
)
return render_to_response("detail.html",{"lfi":lfi,
"user":req.user})
django_comments实在settings.py文件中添加的APP,和app0一样
comments.models.Comment.objects.create()是创建表元素函数