2

djangoproject https://docs.djangoproject.com/en/1.5/intro/tutorial04/から Django を学んでいます。

-現在、私はこのチュートリアルのパート 4 に取り組んでいます。

ただし、次のようにデータベース テーブルからレコードをフェッチしているときにエラーが表示されますPoll

def detail(request, poll_id):
    poll = get_object_or_404(Poll, pk=poll_id)
    context =  {'poll' : poll}
    return render(request,'polls/detail.html', context)

エラーが表示されます:

ValueError at /polls/2/

基数 10 の int() の無効なリテラル: ''

問題を解決してください........私はこのフレームワークの初心者です。DBMS として MySql を使用しています。これは私の urls.py がどのように見えるかです:

    django.conf.urls からインポート パターン、URL

    投票インポートビューから

    urlpatterns = パターン('',
        url(r'^$', views.index, name='index'),
        url(r'^(?P)\d+/$', views.detail, name='detail'),
        url(r'^(?P)\d+/results/$', views.results, name='results'),
        url(r'^(?P)\d+/vote/$', views.vote, name='vote')
    )

前もって感謝します

4

4 に答える 4

4

ドキュメントに従って pk 要素をキャプチャするように URL パターンを変更します。Django の URL は名前付きグループをキャプチャできるため、poll_id

urlpatterns = patterns('',
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'),
    url(r'^(?P<pk>\d+)/results/$', views.ResultsView.as_view(), name='results'),
    url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'),
)
于 2013-08-03T12:47:56.697 に答える
0

私もこのエラーがありました。

私の場合、フォーム テンプレートにタイプミスがありました。入力ミスがないか、投票詳細テンプレート (「polls/detail.html」) を再確認してください。

于 2014-04-17T23:36:51.837 に答える
-1

単純に置き換える

poll = get_object_or_404(Poll, pk=poll_id)

poll = get_object_or_404(Poll, pk=int(poll_id))
于 2013-08-03T14:43:34.910 に答える