2009-07-15 7 views
3

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

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)), 
) 

輸入()の引数1は

現在、私のプロジェクトのurls.pyは、次のようになりますがinstancemethodない、文字列でなければなりません

とアプリの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,))) 

私は管理者のURLを削除

は、プロジェクトのurls.pyからは、(私はエラーを持つ唯一の行を持って、それを簡略化しました)にそれを作る:

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

です。

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

答えて

6

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

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

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

+0

Genius!私がしなければならなかったのは、 (r '^ admin /(.*)'、admin.site.root)、 の代わりにurlspatternの管理URLのインクルードを変​​更することです: (r '^ admin/(。*)」、include(admin.site.root)) ありがとう! – arikfr

関連する問題