(备忘录)Django 中模板文件的搜索顺序
完全地记下来。
django.template.loaders.filesystem.Loader: /Users/01013548/repositories/evolve/django_training/mysite/templates/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/01013548/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/contrib/admin/templates/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/01013548/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/contrib/auth/templates/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/01013548/repositories/evolve/django_training/mysite/myapp/templates/index.html (Source does not exist)
在探索的过程中,有以下选项:
1. 位于Django项目(mysite)根目录下的template文件夹内部。
2. Python库的路径(虽然这个选项并不常用,用途不太明确)。
3. 位于Django项目中的应用程序(myapp)的template文件夹内部。
关于第一点,在setting.py文件的TEMPLATE_DIRS中指定了os.path.join(BASE_DIR, ‘templates’),所以会出现这种情况。
关于2, 3这两点,由于在setting.py中的TEMPLATES.APP_DIRS内设置为True,所以可以进行搜索。(当设置为False时,搜索停止了)