我使用Django == 2.2.3编写应用程序
现在,我想获取我所有项目的所有urls_pattern和相关的视图名称。
我如何得到这样的东西:
urls_patterns_view_names_list = [
("view_name", "view_name: url_pattern"),
...,
...,
...,
]
我已经看到了有关url模式问题的几个主题,但是没有一个与之相对应,可以满足我的要求。在大多数情况下,对于我的情况而言,答案是很老旧的和沉迷的。这就是为什么我重新提出我的问题:我想拥有url模式,并为每个url关联他的视图名称:我该如何在python 3.7上使用Django 2.2.3做到这一点?
答案 0 :(得分:0)
这并不简单,但是我编写了一个模块https://github.com/valohai/django-urr,其中包含用于工作和遍历Django URL解析器的实用程序。
如果最终使用它,则可以使用
for entry in django_urr.extract_urls():
print(vars(entry))
–有关entry
的所有内容,请参见here。
答案 1 :(得分:0)
您可以使用django-extensions
来实现:
function removeEmpty(obj) {
Object.keys(obj).forEach(function(key) {
if (obj[key] == null || (Array.isArray(obj[key]) && obj[key].length === 0)) {
delete obj[key];
} else if (typeof obj[key] === 'object') {
removeEmpty(obj[key]);
}
});
return obj;
};
然后在pip install django-extensions
中输入
settings.py
最后在您的命令行中:
INSTALLED_APPS = [
...
'django_extensions',
...
]
这将完全满足您的需求。从软件包文档中:
./manage.py show_urls
:为项目生成由制表符分隔的(url_pattern,view_function,name)元组列表。