如何在Django';URLS模式
假设我有两个应用程序,App1和App2。我想在如何在Django';URLS模式,django,django-urls,Django,Django Urls,假设我有两个应用程序,App1和App2。我想在urlpatterns中获取每个url的名称列表 App1 URL.py: urlpatterns = ( url(regex=r'^$', view=views.index_view, name='index_url'), url(regex=r'^about/$', view=views.about_view, name='about_url'), url(regex=r'^contact/$', view=views.
urlpatterns
中获取每个url的名称列表
App1 URL.py:
urlpatterns = (
url(regex=r'^$', view=views.index_view, name='index_url'),
url(regex=r'^about/$', view=views.about_view, name='about_url'),
url(regex=r'^contact/$', view=views.contact_view, name='contact_url'),
)
在App2中,我希望获得以下列表:
['index_url', 'about_url', 'contact_url']
我可以得到个人的名字:
>>> import App1.urls
>>> App1.urls.urlpatterns[1].name
'index_url'
从技术上讲,我可以循环收集列表中的每个名字。但是有没有直接的方法来获取它们,比如:
App1.url.urlpatterns.names
?将评论作为答案发布:
使用
以填充名称数组
似乎没有直接访问器。为什么不这样做:
names=[u.name for u in url.urlpatterns if hasattr(u,'name')]
?我找不到一个快速扫描文档的直接访问器方法。
names=[u.name for u in urls.urlpatterns if hasattr(u,'name')]