Django - Yorumlar

Başlamadan önce, Django Comments çerçevesinin 1.5 sürümünden beri kullanımdan kaldırıldığını unutmayın. Artık bunu yapmak için harici özelliği kullanabilirsiniz, ancak yine de kullanmak istiyorsanız, yine de 1.6 ve 1.7 sürümlerine dahildir. 1.8 sürümünden itibaren mevcut değildir, ancak kodu farklı bir GitHub hesabından alabilirsiniz.

Yorum çerçevesi, uygulamanızdaki herhangi bir modele yorum eklemeyi kolaylaştırır.

Django yorum çerçevesini kullanmaya başlamak için -

Proje settings.py dosyasını düzenleyin ve ekleyin 'django.contrib.sites', ve 'django.contrib.comments', INSTALLED_APPS seçeneğine -

INSTALLED_APPS += ('django.contrib.sites', 'django.contrib.comments',)

Site kimliğini alın -

>>> from django.contrib.sites.models import Site
>>> Site().save()
>>> Site.objects.all()[0].id
u'56194498e13823167dd43c64'

Settings.py dosyasında aldığınız kimliği ayarlayın -

SITE_ID = u'56194498e13823167dd43c64'

Tüm yorum tablosunu veya koleksiyonu oluşturmak için DB'yi senkronize edin

python manage.py syncdb

Yorum uygulamasının URL'lerini projenizin url'lerine ekleyin.py -

from django.conf.urls import include
url(r'^comments/', include('django.contrib.comments.urls')),

Artık çerçeveyi yüklediğimize göre, merhaba şablonlarımızı Dreamreal modelimizdeki yorumları takip edecek şekilde değiştirelim. Adı / myapp / merhaba URL'sine parametre olarak aktarılacak olan belirli bir Dreamreal girişi için yorumları listeleyip kaydedeceğiz.

Dreamreal Modeli

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"

merhaba görünüm

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())

merhaba.html şablon

{% 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 %}

Son olarak, URL'yi merhaba görünümümüzle eşleme -

url(r'^hello/(?P<Name>\w+)/', 'hello', name = 'hello'),

Şimdi,

  • Şablonumuzda (merhaba.html), yorum çerçevesini - {% load comments%} ile yükleyin

  • Görünümden geçen Dreamreal nesnesi için yorum sayısını alıyoruz - {% get_comment_count for dreamreal as comment_count%}

  • Nesneler için yorumların listesini alıyoruz - {% render_comment_list for dreamreal%}

  • Varsayılan yorum formunu gösteriyoruz - {% render_comment_form for dreamreal%}

/ Myapp / hello / steve'e eriştiğinizde, adı Steve olan Dreamreal girişi için yorum bilgilerini alacaksınız. Bu URL'ye erişmek size -

Bir yorum yayınladığınızda, aşağıdaki sayfaya yönlendirileceksiniz -

Tekrar / uygulamam / merhaba / steve'ye giderseniz, aşağıdaki sayfayı göreceksiniz -

Gördüğünüz gibi, yorum sayısı şu anda 1 ve yorum listesi satırının altında yorumunuz var.