Почему я не могу импортировать шаблоны URL из urls.py?

Я пытаюсь создать простое представление Django, которое будет отображать список ссылок на все другие представления в моем приложении.

мой план состоял в том, чтобы просто импортировать список шаблонов URL-адресов из urls.py следующим образом.

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 не может импортировать шаблоны URL во время импорта. Если я попытаюсь сделать это позже, поместив оператор импорта в мой запрос на получение, тогда он будет работать нормально, но почему он не работает во время импорта?


person jrowe_fl    schedule 21.11.2017    source источник
comment
Происходит круговой импорт! Помещение оператора импорта внутри функции называется отложенным импортом.   -  person Elis Byberi    schedule 21.11.2017


Ответы (1)


Происходит круговой импорт! Импортируйте модуль как 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)
person Elis Byberi    schedule 21.11.2017