2017-09-28 2 views
1

프로젝트 용 장고 앱을 설정하려고하는데 템플릿 폴더를 찾는데 문제가 있습니다. 여기 내 레이아웃 ...Django가 템플릿을 찾지 못했습니다.

-Alexa 
    -Alexa 
     -__init__.py 
     -settings.py 
     -urls.py 
     -wsgi.py 
    -AlexaApp 
     -migrations 
     -static 
     -css 
     -js 
     -templates 
     -login.html 
     -__init__.py 
     -admin.py 
     -apps.py 
     -models.py 
     -tests.py 
     -views.py 
    -manage.py 

settings.py이다

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

INSTALLED_APPS = [ 
    'Alexa', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 

MIDDLEWARE = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
] 

ROOT_URLCONF = 'Alexa.urls' 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates'),], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

urls.py

내 템플릿 DIRS에 os.path.join(BASE_DIR, 'templates')를 추가하려고했습니다,하지만하지 않았다
from django.conf.urls import url 
from django.contrib import admin 
from django.contrib.auth import views as auth_views 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^login/', auth_views.login, {'template_name': 'templates/login.html'}), 
    url(r'^logout/', auth_views.logout), 
] 

도움. 또한 INSTALLED_APPS에 'Alexa''AlexaApp'을 추가하려고 시도했습니다. 또한 'templates/login.html'을 템플릿 폴더가없는 직접 경로로 변경해 보았습니다. 나는 그것이 단순한 무엇인가 확실하다. 그러나 내가 어 지르고있는 곳을 확신하지 않고있다. 나는 장고 1.11.5를 사용하고있다. 누구든지 나를 도울 수 있습니까?

미리 감사드립니다.
딜런은

+0

터치 자세한 정보가 필요하십니까. 귀하의 BASE_DIR은 (는) 무엇을 해결할 것입니까? 내 생각 엔'Alexa'라는 루트 디렉토리에있는 것입니다. 즉 장고는 존재하지 않는'\ Alexa \ templates'를 볼 것입니다. 또는'\ Alexa \ Alexa'를 해결할 수도 있습니다. 이는 그 아래의 템플릿을 찾을 수 있음을 의미합니다. – MikeTheReader

+0

아! 내가 복사하고 붙여 넣을 때 그 부분을 놓 쳤어. 그냥 질문을 업데이 트했습니다! 지금은'BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file __)))'로 설정됩니다. 또한 필자의 템플릿 폴더를'\ Alexa \ Alexa \ templates \'로 옮겼지만 여전히 그것을 집어 내지는 못했습니다. – DForsyth

+0

그래서 BASE_DIR은 settings.py 파일을'__file__' 인수로 사용하고 있습니다. 즉, 중첩 된 dirname/dirname은 루트 'Alexa'디렉토리를 반환합니다. 'Alexa \ templates'를 시도하면 로그인'template_name'은 login.html이됩니다. – MikeTheReader

답변

1

당신은 AlexaApp/templates/ 내부 템플릿을 찾기 위해 장고를위한 installed_appsAlexaApp을 넣어해야합니다. docs을 참조하십시오.

는 다음과 같이 템플릿에 액세스 :

'template_name': 'login.html' 
관련 문제