django – 整理复杂的URL调度程序
发布时间:2020-12-20 12:25:14 所属栏目:Python 来源:网络整理
导读:我有两种不同的对象,我想在同一个URL下生活.一组对象需要传递给视图函数’foo’,另一组需要传递给’bar’. 我目前正在使用大量的硬编码网址,如此… urlpatterns = patterns('project.views',(r'^a/$','foo'),(r'^b/$',(r'^c/$',#...and so on until... (r'^x
我有两种不同的对象,我想在同一个URL下生活.一组对象需要传递给视图函数’foo’,另一组需要传递给’bar’.
我目前正在使用大量的硬编码网址,如此… urlpatterns = patterns('project.views',(r'^a/$','foo'),(r'^b/$',(r'^c/$',#...and so on until... (r'^x/$','bar'),(r'^y/$',(r'^z/$',) 是否可以定义每种类型的URL列表,如… foo_urls = ['a','b','c'] #... bar_urls = ['x','y','z'] #... …然后根据这些列表检查传入的URL? (如果它在’foo_urls’中,发送到’project.views.foo’;如果它在’bar_urls’中,发送到’project.views.bar’)? 我仅限于保持此结构以保持与以前网站的URL的兼容性,但是对于简化我的urls.py的方法的任何建议将非常感激. 解决方法
url映射通常是明确表达的,但它们不一定是.如何从列表中构建URL映射?
foo_urls = ['a','z'] #... # A first pattern to get urlpatterns started. urlpatterns = pattern('project.views',('blah','blah') ) # Append all the foo urls. for foo_url in foo_urls: urlpatterns += patterns('project.views',('^' + foo_url + '/$','foo') ) # Append all the bar urls. for bar_url in bar_urls: urlpatterns += patterns('project.views',('^' + bar_url + '/$','bar') ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |