有关django的urlconf的问题?

2012-08-17 07:37:06 +08:00
 budong
有人可以解释下吗:
# urls.py

from django.conf.urls.defaults import *
from mysite import views

urlpatterns = patterns('',
(r'^blog/$', views.page),
(r'^blog/page(?P<num>\d+)/$', views.page),
)

# views.py

def page(request, num='1'):
# Output the appropriate page of blog entries, according to num.
# ...

那个urlconf中page(?P<num>\d+)这个page是否多余,如果不多余该怎么理解?
文章原文地址:http://djangobook.py3k.cn/2.0/chapter08/
3128 次点击
所在节点    问与答
5 条回复
kojp
2012-08-17 08:18:15 +08:00
那个urlconf中page(?P<num>\d+)这个page是否多余,如果不多余该怎么理解?


原文就不看了。这个page不多余呀。


你可以把PAGE理解成是。一个前缀。直接把他换成 "book"
budong
2012-08-17 13:44:24 +08:00
谢谢kojp的回答,确实这样的,我想偏了。我刚开始以为向视图中传递参数时会连page一起传递,因此才感觉page是多余的。一语惊醒梦中人。哈哈,谢了!
kojp
2012-08-17 21:53:28 +08:00
呵呵,自学的人一般都很苦逼的,遇到这种问题我觉得是挺正常的。呵呵~~
kavinyao
2012-08-17 23:59:08 +08:00
r'^blog/page(?P<num>\d+)/$'这个pattern是用于匹配blog/page1,blog/page2...这些url的,page是url的一部分。
<?P<num>...)部分是Named Group,捕获的部分被以num作为key传给view(所以要和view的参数对应),具体见:https://docs.djangoproject.com/en/dev/topics/http/urls/#named-groups
budong
2012-08-18 20:16:20 +08:00
谢谢楼上的回答,问题已经解决。Thanks!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/45362

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX