3

私は Django チュートリアルに従っていますが、チュートリアルのパート 4 でエラーが発生しました。リバースを使用して別のビューにリダイレクトする投票ビューを作成している部分に到達しました。何らかの理由で、リバースは次の例外で失敗します。

import () 引数 1 は、インスタンス メソッドではなく、文字列でなければなりません

現在、私のプロジェクトの urls.py は次のようになっています。

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/', include('mysite.polls.urls')),
(r'^admin/(.*)', include(admin.site.root)),
)

アプリの urls.py は次のとおりです。

from django.conf.urls.defaults import *

urlpatterns = patterns('mysite.polls.views',
     (r'^$', 'index'),
     (r'^(?P<poll_id>\d+)/$', 'details'),
     (r'^(?P<poll_id>\d+)/results/$', 'results'),
     (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)

投票ビューは次のとおりです(エラーのある行のみを表示するように簡略化しました)

def vote(request, poll_id):
    return HttpResponseRedirect(reverse('mysite.polls.views.results', args=(1,)))

プロジェクトの urls.py から管理者 URL インクルードを削除すると、次のようになります。

urlpatterns = patterns('',
    (r'^polls/', include('mysite.polls.urls')),
#(r'^admin/(.*)', include(admin.site.root)),
)

できます。

私は非常に多くのことを試しましたが、何が間違っているのか理解できません。

4

1 に答える 1

6

管理 URL を含める方法は、過去数回のバージョンで数回変更されました。インストールした Django のバージョンに対して間違った手順を使用している可能性があります。

現在のトランク (公式リリースではない) を使用している場合は、http://docs.djangoproject.com/en/dev/のドキュメントが正しいです。

ただし、1.0.2 を使用している場合は、ページの上部にあるhttp://docs.djangoproject.com/en/1.0/へのリンクをたどる必要があります。

于 2009-07-15T06:54:53.790 に答える