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

标签 python django django-templates

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

我已经检查了错误消息,模板加载器事后详细说明了我的 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')

最佳答案

我猜您的服务器计算机上是否有较新版本的 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,
        ...
    },
]

关于设置。

关于python - 当 Django 似乎正在搜索正确的路径时如何解决 'TemplateDoesNotExist' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56795758/

相关文章:

python - 如何将多个列表插入到sqlite列中

python - 阈值方案分散算法

python - urls.py 中的 if 条件 - django

python - 模板不存在 : Wrong template path

django - 无效的 block 标记 : expected 'elif' , 'else' 或 'endif'

python - Qt QDialog渲染堆叠

python - 同时遍历列表的偶数项和奇数项

django - 如何分析 Django 的扩展瓶颈?

javascript - 模型没有属性_commissed

django - 从 Django Oscar 中使用单元测试调用的 View 访问购物篮