【问题标题】:Django template overrides not loadingDjango模板覆盖不加载
【发布时间】:2019-08-05 22:44:41
【问题描述】:

Django 新手。

我现在正在尝试自定义 change_form.html 模板。但是,Django 只是拒绝加载我创建的本地文件。

我的应用列在 INSTALLED_APPS 中。 APP_DIRS 设置为 True。我什至硬编码了一个基本目录模板文件夹的绝对路径。在这一点上,我在每个可能的文件夹和位置都有模板,Django 会寻找自定义模板覆盖。如果我更改基本模板,我的 change_form 和 change_list 会更新。我在这里错过了什么?

INSTALLED_APPS = [
'quizzes', # my app
'django.contrib.admin',
#snip


TEMPLATES = [

{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    'APP_DIRS': True,
    'OPTIONS': {

我已经有模板的位置:

/templates(与manage.py同级)

/模板/测验

/模板/测验

/online_training/templates(项目主文件夹)

/quizzes/templates(主应用文件夹)

/测验/模板/测验

/测验/模板/测验

/测验/管理员

/测验/管理员/模板

/测验/管理/测验

/测验/管理员/测验

我在这里尝试使用霰弹枪的方法,要么我完全错过了放置这些东西的正确文件夹,要么有些东西被顶了。

【问题讨论】:

  • 如果你使用 Apache 或其他服务器运行 Django,请尝试重新启动它,因为很多时候模板都被缓存了。
  • 它仅在 dev django 服务器上运行。已停止/启动。

标签: python django


【解决方案1】:

尝试创建这个结构(在您的项目根目录中):

templates/admin/quizzes/yourmodelname/change_form.html

【讨论】:

  • 终于!我想我一定是错过了真正合适的目录,但是我花了很多时间去寻找正确的目录,我错过了。这工作,谢谢!
猜你喜欢
  • 2015-04-15
  • 2020-02-18
  • 2017-07-06
  • 2019-05-02
  • 2015-03-16
  • 2013-01-23
  • 2019-08-11
  • 1970-01-01
  • 2013-05-22
相关资源
最近更新 更多