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