python - Django 找不到模板

标签 python django templates

我正在尝试为项目设置 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

设置.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',
            ],
        },
    },
]

url.py

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),
]

我尝试将 os.path.join(BASE_DIR, 'templates') 添加到我的 TEMPLATES DIRS,但这没有帮助。我还尝试将 'Alexa''AlexaApp' 添加到我的 INSTALLED_APPS 中。我还尝试将 'templates/login.html' 更改为模板文件夹的直接路径,但没有成功。我确信这很简单,但不确定我在哪里搞砸了。我正在使用 Django 1.11.5。谁能帮帮我吗?

提前致谢!
迪伦

最佳答案

您需要将 AlexaApp 放入 installed_apps 中,以便 django 在 AlexaApp/templates/ 中查找模板。请参阅docs

然后像这样访问您的模板:

 'template_name': 'login.html'

关于python - Django 找不到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46473919/

相关文章:

python - 统计 pandas 中多列问题的李克特量表结果数

python - 没有年份的Django DateField

python - 使用线程时不触发 Pyttsx3 回调

python - 我们如何将 "left outer join"用于大尺寸 pandas 数据帧(大于 5~20GB)?

python - 从 Django 模板访问 Model.objects 方法

python - Django 数据迁移与 models.py 不匹配

android 到 django - 如何验证用户身份

c++ - 我可以将作用域枚举用于带有模板的 C++ 标记分派(dispatch)吗?

c++ - 单个函数的两个可变参数模板?

jquery - 未捕获的 TypeError : $(. ..).responsiveSlides 不是函数