[Создание личного веб-сайта] · Django добавляет функцию комментариев (Python3)

искусственный интеллект Python

[Создание личного веб-сайта] · Django добавляет функцию комментариев (Python3)

 

Личная страница -->xiaosongshine.github.io/ 

Адрес сборки личного сайта на github:GitHub.com/Сяо Сун… 

 

Установите плагин джанго

pip install django-contrib-comments

настроить settings.py

INSTALLED_APP=(
    #...,
    'django_comments',
    'django.contrib.sites',
)
SITE_ID = 1

Добавьте два приложения, django_comments и django.contrib.sites, в INSTALLED_APP.

Добавить SITE_ID=1 извне.

библиотека комментариев django - это сайт, поэтому вам нужно добавить приложение сайтов и установить идентификатор сайта = 1 текущего проекта django.

обновление базы данных

python manage.py migrate

настроить urls.py

добавить шаблоны URL

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

Измените интерфейсную страницу, чтобы отобразить список комментариев и форму отправки комментариев.

Затем измените интерфейсную страницу, чтобы отобразить список комментариев и форму отправки комментариев. Для этого необходимо использовать тег шаблона django_comments, который следует импортировать и загрузить перед использованием тега:

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

Список комментариев можно получить с помощью тега шаблона get_comment_list в django_comments следующим образом:

<div class="panel panel-default">
    <div class="panel-heading">
        <h4>评论列表</h4>
    </div>
 
    <div class="panel-body">
        {% get_comment_list for blog as comments %}
        {% for comment in comments %}
            <div class="blog_comment" name="F{{comment.id}}">
                <p class="comment_title">
                    #{{ comment.submit_date|date:"Y-m-d H:i"}} @ {{ comment.user_name }}:
                </p>
                <p class="comment_content">{{ comment.comment }}</p>
            </div>            
        {% empty %}
            <span>暂无评论</span>
        {% endfor %}
    </div>
</div>

Использование тега шаблона get_comment_list предназначено для объекта шаблона, как и для переименования. Комментарии, полученные переменной, могут быть загружены.

Для формы отправки комментариев наиболее важными являются отправленный URL и поля формы. Его также можно обработать с помощью тега шаблона django_comments следующим образом:

<h4>新的评论</h4>
{% get_comment_form for blog as blog_form %}
 
<form id="comment_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 }}
 
    {# 用户名字段,这个后面会修改为登录用户评论,无需填这个 #}
    <div class="control-group">
        <label class="control-label" for="id_name">名称: </label>
        <div class="controls">
            <input type="text" 
                   id="id_name" class="input-xlarge" name="name" 
                   placeholder="请输入您的用户名" 
                   value="{{ user.username }}" />
        </div>
    </div>
 
    {# 邮箱地址字段 #}
    <div class="control-group">
        <label class="control-label" for="id_email">邮箱: </label>
        <div class="controls">
            <input type="email"
                   id="id_email" class="input-xlarge" name="email" 
                   placeholder="请输入您的邮箱地址" 
                   value="{{ user.email }}" />
        </div>
    </div>
 
    {# 评论内容 #}
    <a name="newcomment" id="newcomment"></a>
    <div class="control-group">
        <label class="control-label" for="id_comment">评论: </label>
        <div class="controls">
            <textarea rows="6" 
                      id="id_comment" class="input-xlarge comment" name="comment" 
                      placeholder="请输入评论内容">
            </textarea>
        </div>
    </div>
 
    {# 防垃圾评论 #}
    <p style="display:none;">
        <label for="id_honeypot">如果你在该字段中输入任何内容,你的评论就会被视为垃圾评论。</label>
        <input type="text" name="honeypot" id="id_honeypot">
    </p>
 
    {# 表单按钮 #}
    <div class="controls">
        <div class="form-actions">
            <input class="btn btn-info" id="submit_btn" type="submit" name="submit" value="提交"/>
            <input type="hidden" name="next" value="{%url 'detailblog' blog.id%}"/>
        </div>
    </div>
 </form>

 

На этом шаге нужно отметить два момента

1. {% get_comment_form для блога как blog_form %} {% get_comment_list для блога как комментарии %} в блоге — это содержимое вашей статьи, моеДомойЯ использовал show и изменил его на:

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

2. где value="{%url 'detailblog' blog.id%} — это то, что вы хотите Обновленный URL-адрес веб-страницы, моя модификация:

<input type="hidden" name="next" value="/details-{{show.id}}.html"/>

 

И маленькая хитрость: можно пройти {{ comment|length}} получает общее количество комментариев для статистического отображения.Моя реализация:

<li><a href="#" class="icon fa-comment">{{ comments|length}}</a></li>

 

Перезапустите 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

Добро пожаловать в гости к моемуДомойПопробуйте, если вы найдете это полезным, поддержите меня >

Адрес сборки личного сайта на github:GitHub.com/Сяо Сун…Добро пожаловать в гости

Ссылаться на:yshblog.com/blog/5