与django投票投票

时间:2012-07-26 21:39:27

标签: django django-models django-urls django-voting

我无法通过django-voting注册投票来登记投票:https://github.com/brosner/django-voting

我正试图在技术上推荐评论对象。因此增加了它的分数。

这是我到目前为止所做的:

模板:

<form method="POST" action="/comments/{{ comment.id }}/up/vote/">
    {% csrf_token %}
    <button type="submit">Thumbs up!</button>
</form>

网址

widget_dict = {
    'model': Comment,
    'template_object_name': 'comment',
    'allow_xmlhttprequest': True,
    }


 #users can comment on event objects, And VOTE on comments
 urlpatterns = patterns('',
    url(r'^$', 'event.views.index'),
    url(r'^(?P<id>\d+)/$', 'event.views.detail'),
    url(r'^comments/(?P<object_id>\d+)/(?P<direction>up|down|clear)/vote/?$', vote_on_object, widget_dict),
)

有了这个,我被引导到404。

docs 举例说明:

from django.conf.urls.defaults import *
from voting.views import vote_on_object
from shop.apps.products.models import Widget

widget_dict = {
    'model': Widget,
    'template_object_name': 'widget',
    'allow_xmlhttprequest': True,
}

urlpatterns = patterns('',
    (r'^widgets/(?P<object_id>\d+)/(?P<direction>up|down|clear)vote/?$', vote_on_object, widget_dict),
)

另外,我无法通过管理员添加投票? Unable to add votes

我不知道widget_dict到底是什么。我只是想将表单发布到vote_on_object。有没有人成功发表投票?如果是这样,我做错了什么?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为你有一个错字,你忘了'/'

表单中的网址应为'/widgets/{{ comment.id }}/up/vote/' 或者模式应该以{{1​​}}

开头

然后是模式,你忘了斜线:

comments

应该是

(?P<direction>up|down|clear)vote/?$

如果要检查路由,可以从shell

进行
(?P<direction>up|down|clear)/vote/?$

看到它有效