Django - Bình luận
Trước khi bắt đầu, hãy lưu ý rằng khung Nhận xét Django không được dùng nữa, kể từ phiên bản 1.5. Bây giờ bạn có thể sử dụng tính năng bên ngoài để làm như vậy, nhưng nếu bạn vẫn muốn sử dụng nó, nó vẫn có trong phiên bản 1.6 và 1.7. Bắt đầu từ phiên bản 1.8, nó không có nhưng bạn vẫn có thể lấy mã trên một tài khoản GitHub khác.
Khung nhận xét giúp bạn dễ dàng đính kèm nhận xét vào bất kỳ mô hình nào trong ứng dụng của mình.
Để bắt đầu sử dụng khung nhận xét Django -
Chỉnh sửa tệp cài đặt dự án.py và thêm 'django.contrib.sites'và 'django.contrib.comments', đến tùy chọn INSTALLED_APPS -
INSTALLED_APPS += ('django.contrib.sites', 'django.contrib.comments',)
Nhận id trang web -
>>> from django.contrib.sites.models import Site
>>> Site().save()
>>> Site.objects.all()[0].id
u'56194498e13823167dd43c64'
Đặt id bạn nhận được trong tệp settings.py -
SITE_ID = u'56194498e13823167dd43c64'
Đồng bộ db, để tạo tất cả bảng nhận xét hoặc bộ sưu tập -
python manage.py syncdb
Thêm các URL của ứng dụng nhận xét vào urls.py -
from django.conf.urls import include
url(r'^comments/', include('django.contrib.comments.urls')),
Bây giờ chúng ta đã cài đặt xong framework, hãy thay đổi các mẫu hello để theo dõi các nhận xét về mô hình Dreamreal của chúng ta. Chúng tôi sẽ liệt kê, lưu ý kiến cho một mục nhập Dreamreal cụ thể có tên sẽ được chuyển làm tham số cho URL / myapp / hello.
Mô hình Dreamreal
class Dreamreal(models.Model):
website = models.CharField(max_length = 50)
mail = models.CharField(max_length = 50)
name = models.CharField(max_length = 50)
phonenumber = models.IntegerField()
class Meta:
db_table = "dreamreal"
xin chào xem
def hello(request, Name):
today = datetime.datetime.now().date()
daysOfWeek = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
dreamreal = Dreamreal.objects.get(name = Name)
return render(request, 'hello.html', locals())
hello.html mẫu
{% extends "main_template.html" %}
{% load comments %}
{% block title %}My Hello Page{% endblock %}
{% block content %}
<p>
Our Dreamreal Entry:
<p><strong>Name :</strong> {{dreamreal.name}}</p>
<p><strong>Website :</strong> {{dreamreal.website}}</p>
<p><strong>Phone :</strong> {{dreamreal.phonenumber}}</p>
<p><strong>Number of comments :<strong>
{% get_comment_count for dreamreal as comment_count %} {{ comment_count }}</p>
<p>List of comments :</p>
{% render_comment_list for dreamreal %}
</p>
{% render_comment_form for dreamreal %}
{% endblock %}
Cuối cùng là URL ánh xạ tới chế độ xem xin chào của chúng tôi -
url(r'^hello/(?P<Name>\w+)/', 'hello', name = 'hello'),
Hiện nay,
Trong mẫu của chúng tôi (hello.html), tải khung nhận xét với - {% load comments%}
Chúng tôi nhận được số lượng nhận xét cho đối tượng Dreamreal theo lượt xem - {% get_comment_count cho dreamreal là comment_count%}
Chúng tôi nhận được danh sách nhận xét cho các đối tượng - {% render_comment_list for dreamreal%}
Chúng tôi hiển thị biểu mẫu nhận xét mặc định - {% render_comment_form for dreamreal%}
Khi truy cập / myapp / hello / steve, bạn sẽ nhận được thông tin nhận xét cho mục nhập Dreamreal có tên là Steve. Truy cập vào URL đó sẽ giúp bạn -
Khi đăng nhận xét, bạn sẽ được chuyển hướng đến trang sau -
Nếu bạn truy cập lại / myapp / hello / steve, bạn sẽ thấy trang sau:
Như bạn thấy, số lượng bình luận bây giờ là 1 và bạn có bình luận dưới danh sách các dòng bình luận.