【发布时间】:2013-11-28 21:35:50
【问题描述】:
这里是 Django 菜鸟。我已安装 updown package 并按照说明将其添加到我的 UserPic 模型中。以下是相关部分:
class UserPic(models.Model):
user = models.ForeignKey(User, unique=False)
picfile = models.FileField(upload_to=get_uplaod_file_name)
created_at = models.DateTimeField(auto_now_add=True)
rating = RatingField(can_change_vote=True)
urls.py
urlpatterns = patterns('',
url(r"^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)$", AddRatingFromModel(), {
'app_label': 'userpic',
'model': 'UserPic',
'field_name': 'rating',
}, name="pic_rating"),
rl(r'^(?P<pic_id>\d+)/$', 'userpics.views.photo'),
url(r'^(?P<pic_id>\d+)/delete$', 'userpics.views.del_photo'),
url(r'^/$', 'userpics.views.list'),
)
views.py
def photo(request, pic_id):
if request.method == 'GET':
pic = UserPic.objects.get(pk=pic_id)
hasNext=False
hasPrev=False
picOwner=False
next = int(pic_id) + 1
prev= int(pic_id) - 1
if pic.user== request.user:
picOwner= True
try:
if UserPic.objects.get(pk=next):
hasNext =True
except:
pass
try:
if UserPic.objects.get(pk=prev):
hasPrev = True
except:
pass
message = pic_id
return render_to_response('userpics/photo.html',
{'pic':pic, 'hasNext':hasNext, 'hasPrev':hasPrev, 'picOwner':picOwner},
context_instance=RequestContext(request))
照片.html
{% if pic %}
<form method="post" action="/photo/{{pic.id}}/rate/1" >
{% csrf_token %}
<input type="button" value="Up">
</form>
<form method="post" action="/photo/{{pic.id}}/rate/-1" >
{% csrf_token %}
<input type="button" value="Down">
</form>
Rating {{pic.rating}}
<img class="pic" src="/static/assets/{{pic}}" />
但是,创建的按钮似乎不起作用。代替 {{pic.rating}} 我得到如下内容:
Rating <updown.fields.RatingManager object at 0x7f5c64404990>
不幸的是,文档不是万无一失的,因此感谢您为实施该应用程序提供的帮助。
【问题讨论】:
-
您也可以添加视图吗?
-
它显示
Rating <updown.fields.RatingManager object at 0x7f5c64404990>,因为它不是整数字段。如果这是你所期待的。 -
那么如何让数字出现?这实际上是我的问题之一。
-
对不起,我不知道这个应用程序。但是您可以使用
boolean field或integer field。或者更好,你可以试试this