【问题标题】:Why does django.contrib.comments load only default template为什么 django.contrib.comments 只加载默认模板
【发布时间】:2013-06-19 02:51:57
【问题描述】:

这很奇怪。据我所知,django 总是在本地目录中搜索,然后进入 Python 安装的 lib 目录。但 django.contrib.cmets 并非如此。

我正在尝试从 comments 应用程序的本地模板目录加载 list.html。它正好位于本地应用程序目录上的templates/comments/list.html

奇怪的是,它没有被加载。它只加载在 django.contrib.cmets 目录中找到的默认值..

为什么会这样。

  1. 我的应用配置正确

由于出现问题,我想检查模板目录是否在路径中。于是,我赶紧加载

{% include "comments/list.html" %} 并且它显示了默认文件(不是它应该显示的自定义文件)

但我只是将 list.html 更改为 list1.html 并且它正在显示。

  1. 我将文件名从 list.html 更改为 list1.html 和它的工作。

【问题讨论】:

  • 我将文件名从 list.html 更改为 list1.html 及其工作是什么意思?模板路径应为<project_root>/templates/comments/posted.html
  • 抱歉没有说清楚
  • @karthikr 实际上,我有一个名为 comments 的自定义 app。此文件位于自定义 comments 应用程序的 templates/comments/ 目录中
  • 好吧,您仍然可以在 <project_root>/templates/comments/posted.html 中覆盖这些模板并从您的自定义应用中加载相同的模板

标签: django django-templates django-comments


【解决方案1】:

确保您的comments 应用出现在django.contrib.comments 上方的INSTALLED_APPS 设置中。

当您使用app directories template loader 时,Django 会按照它们在您的INSTALLED_APPS 设置中出现的顺序浏览您的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    相关资源
    最近更新 更多