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를 사용하고있다. 누구든지 나를 도울 수 있습니까?
미리 감사드립니다.
딜런은
터치 자세한 정보가 필요하십니까. 귀하의 BASE_DIR은 (는) 무엇을 해결할 것입니까? 내 생각 엔'Alexa'라는 루트 디렉토리에있는 것입니다. 즉 장고는 존재하지 않는'\ Alexa \ templates'를 볼 것입니다. 또는'\ Alexa \ Alexa'를 해결할 수도 있습니다. 이는 그 아래의 템플릿을 찾을 수 있음을 의미합니다. – MikeTheReader
아! 내가 복사하고 붙여 넣을 때 그 부분을 놓 쳤어. 그냥 질문을 업데이 트했습니다! 지금은'BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file __)))'로 설정됩니다. 또한 필자의 템플릿 폴더를'\ Alexa \ Alexa \ templates \'로 옮겼지만 여전히 그것을 집어 내지는 못했습니다. – DForsyth
그래서 BASE_DIR은 settings.py 파일을'__file__' 인수로 사용하고 있습니다. 즉, 중첩 된 dirname/dirname은 루트 'Alexa'디렉토리를 반환합니다. 'Alexa \ templates'를 시도하면 로그인'template_name'은 login.html이됩니다. – MikeTheReader