我有这样的目录结构,如果它的问题(这是默认推荐的结构,每个的Satchmo文档):如何修复我的模板加载器以检查根目录?
site
- apps
| - __init__.py
- config
- projects
| - site
| - home
| - templates
| - about.html
| - home.html
| - models.py, views.py, admin.py
| - __init__.py
| - local_settings.py
| - settings.py
| - urls.py
| - wsgi.py
| - __init__.py
- static
| - css
| - images (maybe this got autogenerated?)
| - js
| - media
- templates
| base.html
- manage.py
我的网址还为about.html和home.html的和这两个条目扩展基地html的。然而,当我访问这些网址时,我得到了我的一些文本的通用satchmo页面,这些文本是我从大约和在家收录的,但它并没有扩展base.html。在安装satchmo之前,我可以确认这个工作正常,但现在我不确定哪里出了问题。我假设它扩展了一些其他的base.html,因为如果我将扩展改为master.html,它会抛出TemplateDoesNotExist异常(我也不确定如何解决)。我在我的settings.py如下:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
TEMPLATE_DIRS = (
'templates',
)
如果我移动模板目录项目中的站点文件夹,它似乎工作,但我不想在那儿。我试着向TEMPLATE_DIRS添加'../../templates',但这也不起作用,即使它做到了,我也不确定这是如何与我在app文件夹的某些级别声明的模板进行交互的。 。什么是解决这个问题的正确方法?
您能否解释BASE_DIR赋值实际上做了什么?我对Python很陌生,但我不确定。我也已经从'BASE_DIR = os.path.dirname(os.path.dirname(__ file __))'''位置拷贝了这个任务。这是如何影响事物的? – Lunyx
我只是通过调试器,BASE_DIR的结果是相同的。它也不能解决问题。编辑:我假设你的任务应该从我已经拥有的一个目录开始,但似乎并不奏效。 – Lunyx
BASE_DIR的单向性应该起作用,我在生产中得到了这个确切的代码。但再看一遍,你需要去看两个dir('site/projects/site/settings.py'和'site/templates /',所以'projects/site'需要从设置的dirname中'删除' .py以'BASE_DIR'获得'site'的绝对路径) – sk1p