V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
budong
V2EX  ›  问与答

有关django的urlconf的问题?

  •  
  •   budong · 2012-08-17 07:37:06 +08:00 · 3272 次点击
    这是一个创建于 4499 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有人可以解释下吗:
    # 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/
    5 条回复    1970-01-01 08:00:00 +08:00
    kojp
        1
    kojp  
       2012-08-17 08:18:15 +08:00   ❤️ 1
    那个urlconf中page(?P<num>\d+)这个page是否多余,如果不多余该怎么理解?


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


    你可以把PAGE理解成是。一个前缀。直接把他换成 "book"
    budong
        2
    budong  
    OP
       2012-08-17 13:44:24 +08:00
    谢谢kojp的回答,确实这样的,我想偏了。我刚开始以为向视图中传递参数时会连page一起传递,因此才感觉page是多余的。一语惊醒梦中人。哈哈,谢了!
    kojp
        3
    kojp  
       2012-08-17 21:53:28 +08:00
    呵呵,自学的人一般都很苦逼的,遇到这种问题我觉得是挺正常的。呵呵~~
    kavinyao
        4
    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
        5
    budong  
    OP
       2012-08-18 20:16:20 +08:00
    谢谢楼上的回答,问题已经解决。Thanks!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   860 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 21:19 · PVG 05:19 · LAX 13:19 · JFK 16:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.