ari*_*kfr 3 python django reverse admin
我正在关注Django教程并在本教程的第4部分遇到错误.我到了我正在编写投票视图的部分,它使用反向重定向到另一个视图.出于某种原因,反向失败,出现以下异常:
import()参数1必须是string,而不是instancemethod
目前我的项目的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)),
)
Run Code Online (Sandbox Code Playgroud)
和app 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'),
)
Run Code Online (Sandbox Code Playgroud)
投票视图是:(我已将其简化为仅包含错误的行)
def vote(request, poll_id):
return HttpResponseRedirect(reverse('mysite.polls.views.results', args=(1,)))
Run Code Online (Sandbox Code Playgroud)
当我从项目的urls.py中删除admin urls include时,即将其变为:
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
#(r'^admin/(.*)', include(admin.site.root)),
)
Run Code Online (Sandbox Code Playgroud)
有用.
我尝试了很多东西,无法理解我做错了什么.
在过去的几个版本中,包含管理URL的方式已经改变了几次.您可能对所安装的Django版本使用了错误的说明.
如果您使用的是当前主干 - 即不是正式版本 - 那么http://docs.djangoproject.com/en/dev/上的文档是正确的.
但是,如果您使用的是1.0.2,那么您应该按照页面顶部的链接访问http://docs.djangoproject.com/en/1.0/.