Голосование с голосованием Джанго

У меня проблемы с регистрацией голоса при регистрации с помощью 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/')

и посмотреть, как это работает

Другие вопросы по тегам