1

是否可以在 Django 中编写一个 URL 路由,其中​​视图名称将是动态的(从 URL 解析)?

"http://www.example.com/<view>/"  => executes app.views.<view> 
4

2 回答 2

0

您可以编写一个以视图名称作为参数停靠http://www.example.com/的视图,然后在视图函数中从 dict name->触发适当的处理程序custom view,或扫描globals()(丑陋,您最终会检查输入是否有任何恶意数据,因为它直接来自用户并globals()返回所有可见全局变量的字典)。

于 2013-07-17T20:44:16.737 回答
0

您可以使用中间/帮助视图。

网址.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映射的字典来代替调用函数。

希望有帮助。

于 2013-07-17T20:47:00.057 回答