Голосование с голосованием Джанго
У меня проблемы с регистрацией голоса при регистрации с помощью django-голосования: https://github.com/brosner/django-voting
Я пытаюсь технически поднять объект комментария. Таким образом добавляя к его счету.
Это то, что я до сих пор:
Шаблон:
<form method="POST" action="/comments/{{ comment.id }}/up/vote/">
{% csrf_token %}
<button type="submit">Thumbs up!</button>
</form>
URLs
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.
Документы дают пример:
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),
)
Также я не могу добавлять голоса через админа?
Я понятия не имею, что на самом деле является widget_dict. Я просто пытаюсь получить форму сообщения vote_on_object
, Кто-нибудь успешно разместил голосование? Если так, что я делаю не так? Заранее благодарны за Вашу помощь.
1 ответ
Я думаю, что у вас есть опечатка, и вы забыли "/"
Ваш URL в форме должен быть '/widgets/{{ comment.id }}/up/vote/'
или шаблон должен начинаться с comments
А потом по шаблону забываешь косую черту:
(?P<direction>up|down|clear)vote/?$
должно быть
(?P<direction>up|down|clear)/vote/?$
Если вы хотите проверить маршрутизацию, вы можете сделать из оболочки
import re
re.match(r'^widgets/(?P<object_id>\d+)/(?P<direction>up|down|clear)/vote/?$', '/comment/1/up/vote/')
и посмотреть, как это работает