基于python的个人博客怎么做评论_[个人网站搭建]·Django增加评论功能(Python3)

[个人网站搭建]·Django增加评论功能

安装django插件

pip install django-contrib-comments

配置settings.py

INSTALLED_APP=(

#...,

'django_comments',

'django.contrib.sites',

)

SITE_ID = 1

在INSTALLED_APP添加django_comments和django.contrib.sites两个应用。

在外部添加 SITE_ID=1。

django的评论库是一个站点,所以需要添加sites的应用并设置当前django工程的站点id=1

更新数据库

python manage.py migrate

配置urls.py

在 urlpatterns 中添加

path(r'^comments/', include('django_comments.urls')),

修改前端页面显示评论列表和评论提交表单

接着,修改前端页面显示评论列表和评论提交表单。这些需要使用django_comments的模版标签,在使用标签之前导入加载:

{# 导入评论库模块的模版标签 #}

{% load comments %}

评论列表可以通过django_comments的get_comment_list模版标签获取,如下代码:

评论列表

{% get_comment_list for blog as comments %}

{% for comment in comments %}

#{{ comment.submit_date|date:"Y-m-d H:i"}} @ {{ comment.user_name }}:

{{ comment.comment }}

{% empty %}

暂无评论

{% endfor %}

get_comment_list模版标签的用法是for一个模版对象,as是重命名。变量得到的评论加载即可。

而评论提交表单,最主要的是提交的url和表单字段。同样也可以通过django_comments的模版标签处理,如下代码:

新的评论

{% get_comment_form for blog as blog_form %}

class="form-horizontal"

action="{% comment_form_target %}"

method="post"

>

{% csrf_token %}

{# 必须的字段 #}

{{ blog_form.object_pk }}

{{ blog_form.content_type }}

{{ blog_form.timestamp }}

{{ blog_form.site }}

{{ blog_form.submit_date }}

{{ blog_form.security_hash }}

{# 用户名字段,这个后面会修改为登录用户评论,无需填这个 #}

名称:

id="id_name" class="input-xlarge" name="name"

placeholder="请输入您的用户名"

value="{{ user.username }}" />

{# 邮箱地址字段 #}

邮箱:

id="id_email" class="input-xlarge" name="email"

placeholder="请输入您的邮箱地址"

value="{{ user.email }}" />

{# 评论内容 #}

评论:

id="id_comment" class="input-xlarge comment" name="comment"

placeholder="请输入评论内容">

{# 防垃圾评论 #}

如果你在该字段中输入任何内容,你的评论就会被视为垃圾评论。

{# 表单按钮 #}

这一步需要注意的有两点

1.{% get_comment_form for blog as blog_form %} {% get_comment_list for blog as comments %}中blog就是你的文章内容,我的主页用的是show我就改为了:

{% get_comment_form for show as blog_form %} {% get_comment_list for show as comments %}

2.其中的value="{%url 'detailblog' blog.id%}就是你要刷新的网页url,我的修改为了:

还有一个小技巧:可以通过{{ comments|length}}获取评论总数目,便于统计显示,我的实现:

{{ comments|length}}​​​​​​​

重启Uwsgi和Nginx

修改Django文件和其它配置文件之后,一定要重启Uwsgi和Nginx,不然不生效。

Uwsgi和Nginx重启方法:

#查看Uwsgi进程

ps -ef|grep uwsgi

#用kill方法把uwsgi进程杀死,然后启动uwsgi

killall -9 uwsgi

#启动方法

uwsgi -x mysite.xml

#Nginx平滑重启方法

/usr/local/nginx/sbin/nginx -s reload

效果展示

Please Enjoy Yourself

欢迎大家访问我的主页尝试一下,觉得有用的话,麻烦小小鼓励一下 ><

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值