1

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>

URL

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ます。誰かが投票に成功しましたか?もしそうなら、私は何を間違っていますか?よろしくお願いします。

4

1 に答える 1

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/')

そしてそれが機能するのを見てください

于 2012-07-26T21:49:26.197 に答える