目前我有多张照片'对象显示在页面模板上。
Photo
模型有一个字段'得分'其默认值为0.
我正在努力寻找一种方法来在与每个对象相关的模板中添加两个按钮(" up" /" down"),这样当" up&#34 ;单击按钮,它会为该特定的Photo对象分数添加1,或者如果" down"单击它从分数中减去1,单击该按钮后,它将更新数据库中的照片分数值。
这是我的意思的一个例子:
我已经研究过使用ModelForms并通过表格上的django教程,但我正在努力研究如何去做。
答案 0 :(得分:2)
应该非常简单。向上/向下投票按钮可以只是链接到您的视图方法的链接,其中包含url中的照片ID。在您的查看方法中,您可以获取照片ID并搜索相应的照片,然后更新分数。
我在这里提供了一个简单的示例,您需要阅读django tutorial,了解每个细节如何完成它:
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')