2017-11-21 17 views
0

내 앱의 다른 모든보기에 대한 링크 목록을 렌더링하는 간단한 장고보기를 만들려고합니다.urls.py에서 url 패턴을 가져올 수없는 이유는 무엇입니까?

내 계획은 단순히이

from urls import urlpatterns 

같은 urls.py에서 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 패턴을 가져올 수 없습니다. 나중에 import 명령문을 내 요청에 넣으려고하면, 제대로 작동하지만 가져 오기 시간에 작동하지 않는 이유는 무엇입니까?

+0

순환 수입이 발생합니다! 함수 안에 import 문을 넣는 것을 "가져 오기 지연"이라고합니다. –

답변

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)