Py学习  »  问与答

URL转化问题

kour • 8 年前 • 2360 次点击  
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'),

enter image description here

enter image description here

小白刚学django,纠结了好久的问题。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1241
 
2360 次点击  
文章 [ 8 ]  |  最新文章 8 年前
kour
Reply   •   1 楼
kour    8 年前

感谢@mugbya同时, 十分感谢@shen_gan 您耐心的帮忙!解决了鄙人因疏忽了细节而困扰了许久的问题。

答案就如您所说的,问题终结。

shen_gan
Reply   •   2 楼
shen_gan    8 年前

其实我一开始就是猜测下面的那个 urlpatterns 是 website.urls 的代码,不知道是不是?

urlpatterns 应该是一个列表,而第2个 urlpatterns 你用了大括号,看看是不是此处的问题

引用官网一句描述

urlpatterns should be a Python list of url() instances.

shen_gan
Reply   •   3 楼
shen_gan    8 年前

@kour 额,我错了~~~

在3楼中,我的说法有大问题。不是 reversed 而是 reverse 的其中一个用法

reverse('url_name', args=(parm1,))

ps. 此处与本问题无关,只是指出&纠正我的错误~

mugbya
Reply   •   4 楼
mugbya    8 年前

你用了命名空间式写法,但是不知道你的website 这里面是如何写的,按目前你写的看,你在website命名空间中用了不在外面的一条url。

你最好贴出website.urls的代码,看旗下是否有restricted 这个命名参数的url。

目前看到你这条是写在 命名空间外面的..(或者说重名了)

kour
Reply   •   5 楼
kour    8 年前

@shen_gan restricted里没有使用reversed函数,views.py里也没引用reversed。

def restricted(request):
return HttpResponse("Since you're logged in, you can see this text!")
shen_gan
Reply   •   6 楼
shen_gan    8 年前

@kour 这个错误应该是 views.py 文件中的错误。reversed 用法如下:

reversed('url_name', args=(parm1,))

看看是不是这个的用法有问题?

kour
Reply   •   7 楼
kour    8 年前

@shen_gan 试过了 还是一样的错误提示

shen_gan
Reply   •   8 楼
shen_gan    8 年前

在模板中 url 后面直接接 url 的 name

url(r'^restricted/$', views.restricted, name='restricted'),

你如果想要在模板中访问这个 url ,则是 "{% url 'restricted' %}"