TemplateDoesNotExist在/ Django?

时间:2017-02-27 10:51:15

标签: python django

我正在使用Python 3.5和Django 1.9。我知道我在某个地方犯了一个愚蠢的错误,但我似乎无法找到它,对错误的位置有什么帮助?

View.py

from django.shortcuts import render
from aircraft.models import Aircraft

def browseaircraft(request):
all_aircraft = Aircraft.objects.all()
variables = {'all_aircraft':all_aircraft}
return render(request, 'templates/browseaircraft.html', variables)

Urls.py

from django.conf.urls import url
from django.contrib import admin

admin.autodiscover()

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', 'aircraft.views.browseaircraft', name='browseaircraft'),

Settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'AviationProject/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',
            ],
            'debug': DEBUG,
        },
    },
]

......

STATIC_URL = '/static/'
SETTINGS_PATH = os.path.dirname(__file__)
PROJECT_PATH = os.path.join(SETTINGS_PATH, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)
TEMPLATES_PATH = os.path.join(PROJECT_PATH, "templates")

TEMPLATE_DIRS = (
    TEMPLATES_PATH,
)

我的文件目录如下所示:

File directory

2 个答案:

答案 0 :(得分:9)

settings.py中,模板目录应该与root目录相关。替换此行:

'DIRS': [os.path.join(BASE_DIR, 'AviationProject/templates')],

用这个:

'DIRS': [os.path.join(BASE_DIR, 'templates')],

答案 1 :(得分:0)

我遇到了同样的问题,答案是只添加INSTALLED_APPS [] 您的应用名称,请尝试INSTALLED_APPS [' your_app_name']。

避免使用INSTALLED_APPS [' your_app_name.apps.your_app_nameConfig']。 我猜不再是必要了。

让你的模板DIR []保持原样。 Django会自动找到。