是否可以在 Django 中编写一个 URL 路由,其中视图名称将是动态的(从 URL 解析)?
"http://www.example.com/<view>/" => executes app.views.<view>
是否可以在 Django 中编写一个 URL 路由,其中视图名称将是动态的(从 URL 解析)?
"http://www.example.com/<view>/" => executes app.views.<view>
您可以编写一个以视图名称作为参数停靠http://www.example.com/
的视图,然后在视图函数中从 dict name
->触发适当的处理程序custom view
,或扫描globals()
(丑陋,您最终会检查输入是否有任何恶意数据,因为它直接来自用户并globals()
返回所有可见全局变量的字典)。
您可以使用中间/帮助视图。
网址.py:
url(r'^/(?P<view_name>\w+)/$', help_view),
视图.py:
def help_view(request, view_name):
return globals()[view_name]()
globals()
或者,您可以使用带有view_name->view_function
映射的字典来代替调用函数。
希望有帮助。