2016-04-07 26 views
0

Şu anda bir sayfa şablonunda görüntülenen birden çok 'Fotoğraf' nesnesine sahibim.Django nesnelerine 'oy' düğmeleri ekleme

Photo Modeli ı ilgili şablonunda ("aşağı"/"yukarı") iki düğme eklemek için bir yol bulmak mücadele ediyorum 0.

varsayılan değeri olan bir tarla 'puan' vardır her nesne böylece "yukarı" düğmesine tıklandığında o belirli Photo nesneleri puan 1 ekler veya "aşağı" tıklandığında 1 puan çıkarılır ve düğmeye tıklandığında bir kez veritabanında fotoğraf skoru değerini günceller .

enter image description here

kullanıyorum ModelForms içine baktı ve formlara Django öğretici yaşadı ama bunu nasıl çalışmak için mücadele ediyorum adres: Burada

ne demek istediğimi bir örnektir.

+0

Başka bir görünümde yeniden yönlendirmeden yukarı/aşağı çalışmasını istediğiniz sorun mu var? Eğer öyleyse, ajax arama yapmak için javascript kullanmanız gerekir. Sorduğun bu mu? – dkarchmer

cevap

2

Çok basit olmalıdır. Yukarı/aşağı oy düğmesi, görüntüleme yönteminize, URL'deki fotoğraf kimliğiyle bağlanan bir bağlantı olabilir. Görünüm yönteminizde fotoğraf kimliğini alıp karşılık gelen fotoğrafa göz atın, ardından puanı güncelleyin. Burada basit bir örnek sunulmuştur

, her detay tamamlamak için nasıl çalıştığı hakkında django tutorial okumak gerekir:

template.html:

{% for photo in photos %} 
    <a href="upvote/{{ photo.id }}">up</a> 
{% endfor %} 

urls.py

url(r'^upvote/(?P<photo_id>[0-9]+)/$', views.upvote, name='upvote'), 

views.py

def upvote(request, photo_id): 
    photo = Photo.objects.get(pk=photo_id) 
    photo.score += 1 
    photo.save() 
    return HttpResponse('your-photo-list-view') 
+0

Bu mükemmel bir şekilde teşekkür etti. Bunun bir sebepten ötürü olabileceğinin farkında değildim, sanırım fazla düşünmüyordum! – user1825241