budong
V2EX  ›  问与答

有关django的urlconf的问题?

  •  
  •   budong · Aug 17, 2012 · 3929 views
    This topic created in 5022 days ago, the information mentioned may be changed or developed.
    有人可以解释下吗:
    # 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 replies    1970-01-01 08:00:00 +08:00
    kojp
        1
    kojp  
       Aug 17, 2012   ❤️ 1
    那个urlconf中page(?P<num>\d+)这个page是否多余,如果不多余该怎么理解?


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


    你可以把PAGE理解成是。一个前缀。直接把他换成 "book"
    budong
        2
    budong  
    OP
       Aug 17, 2012
    谢谢kojp的回答,确实这样的,我想偏了。我刚开始以为向视图中传递参数时会连page一起传递,因此才感觉page是多余的。一语惊醒梦中人。哈哈,谢了!
    kojp
        3
    kojp  
       Aug 17, 2012
    呵呵,自学的人一般都很苦逼的,遇到这种问题我觉得是挺正常的。呵呵~~
    kavinyao
        4
    kavinyao  
       Aug 17, 2012
    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
       Aug 18, 2012
    谢谢楼上的回答,问题已经解决。Thanks!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2905 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:03 · PVG 08:03 · LAX 17:03 · JFK 20:03
    ♥ Do have faith in what you're doing.