我正在关注Django Girls Tutorial,直到我们添加了登录功能,并且我已经尝试从不同的模板文件夹加载而不是我想要的。
我将所有博客模板都放在blog \ templates \ blog \等中,这就是Django正在寻找我的login.html的地方。但是,在教程中(以及我的文件夹结构中的结果),login.html的路径是:mysite / templates / registration / login.html。那么我如何让Django看到那里?
对不起,如果这是一个愚蠢的问题。
答案 0 :(得分:1)
Django将向您的settings.py
查看如何加载模板,以及它应该尝试加载模板的顺序。您可能没有配置django来查找mysite / templates中的模板。
有一个名为TEMPLATE_DIRS
的设置,它是模板文件夹的绝对路径列表。因此,在您的settings.py
文件中,尝试以下内容。阅读我的评论,看看每一行的作用。
# create a variable that stores the absolute path to your project's root directory
# you might have something like this already defined at the top of your settings.py
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
# this is the default value for TEMPLATE_LOADERS
# which says to look at the `TEMPLATE_DIRS` variable, and then in each of your app's subdirectories for templates
TEMPLATE_LOADERS = ('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')
# the special sauce. tell django to look at the "templates" folder
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'), )