Python Django教程自定义管理模板
我正在学习官方的Django教程。最后,他们让你定制一点管理模板(更改一些标题文本)。我认为我做的一切都是对的,但显然我没有,因为在运行syncdb并重新启动服务器后,管理站点看起来完全一样。我的项目目录(不包括virtualenv部分)如下所示:Python Django教程自定义管理模板,python,django,Python,Django,我正在学习官方的Django教程。最后,他们让你定制一点管理模板(更改一些标题文本)。我认为我做的一切都是对的,但显然我没有,因为在运行syncdb并重新启动服务器后,管理站点看起来完全一样。我的项目目录(不包括virtualenv部分)如下所示: mysite ├── manage.py ├── mysite │ ├── __init__.py │ ├── __init__.pyc │ ├── settings.py │ ├── settings.pyc │ ├── url
mysite
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── polls
│ ├── admin.py
│ ├── admin.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ └── views.py
└── templates
└── admin
└── base_site.html
在settings.py中,我添加了以下行,以使项目使用templates/admin中的模板:
import os
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
后来:
TEMPLATE_DIRS = (os.path.join(PROJECT_PATH, 'templates'),)
我尝试了几种斜杠和变体的组合,将值分配给PROJECT\u PATH
和TEMPLATE\u DIRS
,但没有任何效果。每次我验证它实际上是在生成一个filepath字符串(使用一个简单的print语句)
为了看看发生了什么,我编辑了原来的Django base_site.html,将其放在了管理文件夹中,这改变了我的网站,所以它显然仍然在使用它。我读过好几篇这样的帖子,我真的不知道该怎么办了
哦,如果相关的话:Python 2.7.3和Django 1.4.3我会尝试的第一件事是删除你的*.pyc文件,它们通常包含过时的信息,有时会导致类似这样的问题 如果不是这样,我会再次检查您的
项目路径
,我认为这就是问题所在
dirname
获取包含目录。因此,如果该行位于settings.py中,它将返回主mysite中的/path/to/internal/mysite
,因为在您的internalmysite
中没有templates
目录,所以它不会工作
你需要做的就是这样
PROJECT_PATH = os.path.realpath(os.path.dirname(os.path.dirname(__file__)))
它将返回外部mysite
路径,当与模板组合时,它将返回正确的路径
然后一切都会起作用 关于我的项目路径变量出错,你说得完全正确。将其修改为您的,效果完美。谢谢