如何排除动态URL中的某些参数?

2024-03-29 12:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在映射一个动态url参数,比如我的应用程序中的pagename我的应用程序.com/[PageName此处] 我的网址.py因为这看起来像:

url(r'^(?P<pagename>[a-zA-Z0-9_.-]*)/$', 
    views.all_pagenames, 
    name='all_pagenames')

但是,的URLmyapp.com/登录, myapp.com/注册, myapp.com/关于etc已映射到网址.py像这样的文件,例如:

url(r'^about/$', views.about, name='about')

如何修改页面名的动态url,以便从可能的页面名参数中排除“login”“about”等词,而不转发到视图中的“all\u pagenames”函数,而是转到相应的函数?你知道吗


Tags: namepycom应用程序url参数动态页面
1条回答
网友
1楼 · 发布于 2024-03-29 12:07:22

Django将按定义顺序尝试每个url模式,因此您不必担心“排除”其他url,您所需要的只是确保在捕获所有“pagename”url模式之前定义它们:

url(r'^about/$', views.about, name='about')
url(r'^login/$', views.login, name='login')
# etc
# and last:
url(r'^(?P<pagename>[a-zA-Z0-9_.-]*)/$', 
     views.all_pagenames, name='all_pagenames')

相关问题 更多 >