urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^tango/', include('website.urls', namespace="website")), urlpatterns = { url(r'^$', views.index, name='index'), url(r'^about/$', views.about, name='about'), url(r'^restricted/$', views.restricted, name='restricted'),
小白刚学django,纠结了好久的问题。
感谢@mugbya同时, 十分感谢@shen_gan 您耐心的帮忙!解决了鄙人因疏忽了细节而困扰了许久的问题。
答案就如您所说的,问题终结。
其实我一开始就是猜测下面的那个 urlpatterns 是 website.urls 的代码,不知道是不是?
urlpatterns 应该是一个列表,而第2个 urlpatterns 你用了大括号,看看是不是此处的问题
引用官网一句描述:
urlpatterns should be a Python list of url() instances.
@kour 额,我错了~~~
在3楼中,我的说法有大问题。不是 reversed 而是 reverse 的其中一个用法
reverse('url_name', args=(parm1,))
ps. 此处与本问题无关,只是指出&纠正我的错误~
你用了命名空间式写法,但是不知道你的website 这里面是如何写的,按目前你写的看,你在website命名空间中用了不在外面的一条url。
你最好贴出website.urls的代码,看旗下是否有restricted 这个命名参数的url。
目前看到你这条是写在 命名空间外面的..(或者说重名了)
@shen_gan restricted里没有使用reversed函数,views.py里也没引用reversed。
def restricted(request): return HttpResponse("Since you're logged in, you can see this text!")
@kour 这个错误应该是 views.py 文件中的错误。reversed 用法如下:
reversed('url_name', args=(parm1,))
看看是不是这个的用法有问题?
@shen_gan 试过了 还是一样的错误提示
在模板中 url 后面直接接 url 的 name
url(r'^restricted/$', views.restricted, name='restricted'),
你如果想要在模板中访问这个 url ,则是 "{% url 'restricted' %}"