当Django似乎正在搜索正确的路径时,如何解决'TemplateDoesNotExist'错误

时间:2019-06-27 17:04:47

标签: python django django-templates

我正在Django中为新项目设置结构。我创建了应用程序“帐户”,在其中添加了包含html模板的模板文件夹。但是,当我进入开发服务器并从索引页面单击指向该页面的链接时(该页面不会加载任何问题),它将返回TemplateDoesNotExist错误消息。

我已经检查了错误消息,并且Template-loader验尸详细说明了我的html模板的正确路径(我已检查并确保了无数次),这表明Django正在寻找正确的位置。但是,它也说“来源不存在”。考虑到Django正在寻找正确的途径,有人有任何故障排除提示吗?

# From settings.py ('accounts' is also included with INSTALLED_APPS):

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

# ...

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

# From urls.py:

from django.conf.urls import url, include
from accounts.views import index

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', index, name="index"),
    url(r'^accounts/', include('accounts.urls')),
]

# From urls.py (accounts):

from .views import signup

urlpatterns = [
    url(r'^signup/$', signup, name="signup"),
]

# From views.py (accounts):

def signup(request):
    return render(request, 'signup')

1 个答案:

答案 0 :(得分:0)

我想您的服务器计算机上是否有django的较新版本。

DIRS is now (2.2)进入TEMPLATES设置变量。在django old version (ex: 1.8)上的DIRS设置变量。

然后,检查版本并移至最新版本并使用:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        ...
    },
]

关于设置。