Regex Django URL配置

Regex Django URL配置,regex,django,url,Regex,Django,Url,所以我和Django一起工作了一段时间,了解了regex的基本知识 我知道如果有请求,它会将URL“映射”(不确定这意味着什么)到视图中的某个定义 这一点用一页纸就清楚易懂了。 但是如果我想为多个页面和/或整个网站设计一个urlpattern呢。 我不明白那部分 没有正则表达式,有没有办法做到这一点? 如果不是:用正则表达式创建健壮结构的方法是什么? 在这里,我可以快速添加和删除页面 在这方面,flatpages与其他页面有何不同 如果这是可能的和合理的,我想用我的URL.py实现以下目标 网站

所以我和Django一起工作了一段时间,了解了regex的基本知识

我知道如果有请求,它会将URL“映射”(不确定这意味着什么)到视图中的某个定义

这一点用一页纸就清楚易懂了。 但是如果我想为多个页面和/或整个网站设计一个urlpattern呢。 我不明白那部分

没有正则表达式,有没有办法做到这一点? 如果不是:用正则表达式创建健壮结构的方法是什么? 在这里,我可以快速添加和删除页面

在这方面,flatpages与其他页面有何不同

如果这是可能的和合理的,我想用我的URL.py实现以下目标

  • 网站需要的常用站点的Flatpages:
  • 家 关于 媒体 . . . 接触

  • 在其中动态创建的站点与Webgallery类似(但不是)
  • 在第一个网站上,我有文本和一些复选框。 然后在每一页上都有一个带有“下一步”按钮的媒体项

    URL可能是这样的

    myapp/start/

    然后

    myapp/start/1至n

    myapp/位于主导航和平面页面中

    我习惯于做静态页面,不知何故,我不明白如何将一个结构放入这些不同的页面中。平面页面似乎是静态的。这样我可以更轻松地与他们合作。但也许以后我会在使用这种方法时遇到问题

    如果有什么好方法可以快速理解正则表达式或者如何在Django中创建站点结构,请告诉我


    谢谢

    在URL.py中,您并不是真正将URL映射到页面,而是将URL映射到可以呈现页面的函数。您可以将多个URL映射到同一个函数,如果需要,还可以让函数根据URL返回不同的内容

    所以,对于你的情况,你可能有

    (r'^myapp/$', 'myapp.show_main_navigtaion_page'), # if the url is "myapp/" only, show main nav
    (r'^articles/start/$', 'myapp.show_start_page'),
    (r'^articles/start/(\d+)/$', 'myapp.do_something_with_start'),
    
    这里有一些基本的正则表达式: “^”字符表示url的开始,“$”表示字符串的结束, “()”字符捕获其中的任何内容,
    “\d+”匹配一个或多个数字。

    在URL.py中,您并不是真正将URL映射到页面,而是将URL映射到可以呈现页面的函数。您可以将多个URL映射到同一个函数,如果需要,还可以让函数根据URL返回不同的内容

    所以,对于你的情况,你可能有

    (r'^myapp/$', 'myapp.show_main_navigtaion_page'), # if the url is "myapp/" only, show main nav
    (r'^articles/start/$', 'myapp.show_start_page'),
    (r'^articles/start/(\d+)/$', 'myapp.do_something_with_start'),
    
    这里有一些基本的正则表达式: “^”字符表示url的开始,“$”表示字符串的结束, “()”字符捕获其中的任何内容,
    “\d+”匹配一个或多个数字。

    您应该在应用程序中拆分URL:

    urlpatterns = patterns('',
        (r'^accounts/', include('my.accounts.urls')),
        (r'^gallery/', include('my.gallery.urls')),
    
    然后可以使用正则表达式创建结构:

    urlpatterns = patterns('my.gallery.views',
        (r'^photos/new/$', 'photo_new'),
        (r'^photos/$', 'photo_list'),
        (r'^photos/by_user/(?P<user_id>\d+)/$', 'photo_list'), # capture (\d+) into user_id variable
        (r'^photos/by_category/(?P<cat_id>\d+)/$', 'photo_list'),
    )
    

    您应该在应用程序中拆分URL:

    urlpatterns = patterns('',
        (r'^accounts/', include('my.accounts.urls')),
        (r'^gallery/', include('my.gallery.urls')),
    
    然后可以使用正则表达式创建结构:

    urlpatterns = patterns('my.gallery.views',
        (r'^photos/new/$', 'photo_new'),
        (r'^photos/$', 'photo_list'),
        (r'^photos/by_user/(?P<user_id>\d+)/$', 'photo_list'), # capture (\d+) into user_id variable
        (r'^photos/by_category/(?P<cat_id>\d+)/$', 'photo_list'),
    )
    

    谢谢!广告第一块代码:包括什么?ad第二块:(?P\d+)可以映射像hans/1、hans/2等的URL,但不能映射hans/1a?ad第三块:get_object_或_404是django内置函数吗?感谢againad 1)它包括项目子目录中的URL文件。一个例子是第2号文件ad 2)是。要了解更多信息,请阅读3)是的,它在django.shortcutsThanks中有很多定义!广告第一块代码:包括什么?ad第二块:(?P\d+)可以映射像hans/1、hans/2等的URL,但不能映射hans/1a?ad第三块:get_object_或_404是django内置函数吗?感谢againad 1)它包括项目子目录中的URL文件。一个例子是第2号文件ad 2)是。要了解更多信息,请阅读3)是的,它是在django.shortcuts中定义的。非常感谢!文章/开始/第1页到第40页是如何创建的?逐一地?或者我可以用什么来自动创建它?翻页机?这是我不理解的。articles/start/1和articles/start/40都由第三个正则表达式匹配,其中包含\d,并且都是有效的URL,上面的URL.py。这就是你要问的吗?谢谢,我试过第三个正则表达式示例。在视图中创建了一个简单的Hello world HttpResponse,但它不起作用。非常感谢!文章/开始/第1页到第40页是如何创建的?逐一地?或者我可以用什么来自动创建它?翻页机?这是我不理解的。articles/start/1和articles/start/40都由第三个正则表达式匹配,其中包含\d,并且都是有效的URL,上面的URL.py。这就是你要问的吗?谢谢,我试过第三个正则表达式示例。在视图中创建了一个简单的Hello world HttpResponse,但它不起作用。