2011-09-09 2 views
4

보기 또는 템플릿에서 현재 앱 이름에 액세스하려고합니다.Django : resolve (request.path) .app_name이 앱 이름을 반환하지 않습니다.

다른 답변은 How to get an app name using python in djangoHow to get current application in Django입니다. resolve(request.path).app_name은 현재 앱 이름을 반환해야합니다. 그러나 내 경우에는 alwas가 "None"을 반환합니다.

장고 1.3을 사용하고 있습니다.

#urls.py 
urlpatterns = patterns('', 
    (r'^manufacturers/', include('manufacturers.urls', app_name='manufacturers')), 
) 


#shell output 
In [1]: resolve('/manufacturers/my_manufacturers/').app_name 
Out[1]: 'manufacturers' 

상세 정보 : Defining URL namespaces

답변

7

, 당신은 당신의 URL을 포함 할 때 app_name 매개 변수를 전달해야합니다. `urls.py` 파일 안에있는 모든 URL에 이것을 정의 할 수 있습니까?
+0

덕분에 많은 문제가 해결하려면 –

+0

@ danilo-bargen 두 번째 튜플 항목에서'app_name'을 설정하면 응용 프로그램의'urls.py'에 3- 튜플 변수를 정의 할 수 있습니다 :'manufacturers_urls = (urlpatterns, 'manufacturers', None)'. 그런 다음이 튜플을 프로젝트의 'urls.py'' urlpatterns에 포함합니다. 이 튜플 접근법을 사용하는 방법에 대한 자세한 내용은 [URL 네임 스페이스 및 포함 된 URL 환경] (https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces-and-included-urlconfs)을 참조하십시오. –

관련 문제