为什么我不能从urls.py导入urlpatterns?

时间:2017-11-21 19:18:51

标签: python django import url-pattern

我正在尝试创建一个简单的Django视图,该视图将呈现我应用中所有其他视图的链接列表。

我的计划是简单地从urls.py导入我的urlpatterns列表,就像这样

from urls import urlpatterns

然后生成一个像这样的名称列表

def get(self, request, *args, **kwargs):
    context={"urlnames":[]}
    for up in urlpatterns:
        context["urlnames"].append(up.name)
    return render_to_response('api_list.html', context)

然后像这样呈现它们

{% for urlname in urlnames %}
<div>
  <a href='{% url urlname %}' > {{urlname}} </a>
</div>
{% endfor %}

但是python在导入时无法导入urlpatterns。如果我稍后尝试执行此操作,将import语句放入我的get请求中,那么它可以正常工作,但为什么它在导入时不起作用?

1 个答案:

答案 0 :(得分:2)

正在进行循环导入!导入模块为import urls并获取urlpatterns,如下所示:

def get(self, request, *args, **kwargs):
    context={"urlnames":[]}
    for up in urls.urlpatterns:
        context["urlnames"].append(up.name)
    return render_to_response('api_list.html', context)