2013-02-05 5 views
1

documentation에 따르면 django는 앱의 루트 디렉토리에 'templates'라는 폴더가 있으면 내 앱에서 자동으로 템플릿을로드해야합니다.django에서 템플릿 자동로드가 작동하지 않습니다.

나는

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    # 'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    # Use email as username https://github.com/dabapps/django-email-as-username 
    'emailusernames', 
    'purchaseapp' # this is my app 
) 

가 나는 템플릿 폴더

enter image description here

을 만든 내가 로그인 페이지

로 관리자를 사용하도록 설정 urlpatterns을했습니다 내 응용 프로그램 추가 한
urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'timely.views.home', name='home'), 
    # url(r'^timely/', include('timely.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', hello), 
    url(r'^accounts/logout/$', 'django.contrib.auth.views.logout'), 
    url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}), 
    url(r'^accounts/$', 'django.views.generic.simple.redirect_to', {'url': '/'}), 
    url(r'^accounts/profile/$', 'django.views.generic.simple.redirect_to', {'url': '/'}), 
) 

내가 base_site.html을 덮어 썼지 만 내 사용자 정의가 표시되지 않습니다. wh 내가 TEMPLATE_DIRS에 폴더를 추가하는지 확인합니다

TEMPLATE_DIRS = (
    "/Users/nicola/Documents/Aptana Studio 3 Workspace/timely/purchaseapp/templates", 
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

무엇이 잘못 되었나요?

+0

BTW 들어있는 contrib 관리자보다 먼저 와야했습니다 정지하기 때문에 어쩌면 당신이 django.template.loaders를 추가 할 것입니다, 검색 장고이었다 .app_directories.loader를 템플릿 로더에로드하여 TEMPLATE_DIRS에서 템플릿을 선택하지 않고 앱에서 템플릿을로드 할 수 있습니다. – simplylizz

+0

프로젝트 폴더의 루트에 템플릿 폴더를 추가하고 응용 프로그램 폴더에 비슷한 문제가 발생하여 문제가 해결되었습니다. – vedarthk

+0

@simplylizz 아니, 이미 제안을 주셔서 감사합니다. –

답변

0

문제는 아마 유효한 템플릿을 발견한다 때 내 애플

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    # 'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'purchaseapp', #this is my app 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    # Use email as username https://github.com/dabapps/django-email-as-username 
    'emailusernames', 
) 
0

당신은 관리자에서합니다 (docs)에서 몇 디렉토리를 작성해야합니다

첫째, 하나 또는 그 이상을 오버라이드 (override) 프로젝트의 템플릿 디렉토리에 관리자 디렉토리를 만들려면. TEMPLATE_DIRS에 지정한 디렉토리 중 하나 일 수 있습니다.

이 관리 디렉토리 내에서 app의 이름을 가진 하위 디렉토리를 만듭니다. 이 앱 하위 디렉토리에서 모델 뒤에 이라는 하위 디렉토리를 만듭니다. 관리 응용 프로그램은 디렉토리를 찾을 때 모델 이름을 소문자로 처리하므로, 대소 문자를 구분하는 파일 시스템에서 앱을 실행하려면 디렉토리의 이름을 모두 소문자로 지정해야합니다.

는 특정 응용 프로그램에 대한 관리 서식 파일을 덮어 복사하고 장고 /있는 contrib/관리/템플릿/admin 디렉토리에서 템플릿을 편집하고 방금 만든 디렉토리 중 하나에 저장 합니다.

+0

정확히 어떤 폴더가 있습니까? 관리자 아래에 purchaseapp 폴더를 추가하고 파일을 옮겼지만 성공하지 못했습니다. –

+0

특정 모델 (예 : 추가 페이지의 재정의)에 대해서만 관리자 페이지를 무시하는 데 적용됩니다. base_site.html, index.html 및 login.html의 사이트 전체 변경 사항은 Nicola의 구조가 올바르게 표시됩니다. –

+0

@AidanEwen 결국 INSTALLED_APPS의 주문 문제였습니다. –

관련 문제