当前位置: 首页 > 面试题库 >

Django模板路径

暨正真
2023-03-14
问题内容

我正在Windows 7环境中的http://docs.djangoproject.com/en/dev/intro/tutorial02/#intro-tutorial02上关注此教程。我的设置文件是:

TEMPLATE_DIRS = (
    'C:/django-project/myapp/mytemplates/admin'
)

base_templateadmin/base_site.htmlDjango本身的源代码(django / contrib / admin / templates)的默认Django admin模板目录中的模板中获取了该模板,并将其按照本教程的说明放入myapp目录的admin子目录中。

由于某种原因,它似乎并没有产生影响。有什么问题的线索吗?我需要做一个同步数据库吗?


问题答案:

我知道这不是Django教程中的内容,不要为它们感到羞耻,但是最好为你的path变量设置相对路径。你可以这样设置:

import os

PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))

...

MEDIA_ROOT = PROJECT_PATH + '/media/'

TEMPLATE_DIRS = (
    PROJECT_PATH + '/templates/',
)

这样,你可以移动Django项目,并且路径根将自动更新。当你设置生产服务器时,这很有用。

其次,你的TEMPLATE_DIRS路径中存在可疑之处。它应该指向模板目录的根目录。同样,它也应该以结尾结尾/

我只是在这里猜测该.../admin/目录不是你的模板根目录。如果仍要编写绝对路径,则应删除对管理模板目录的引用。

TEMPLATE_DIRS = (
    'C:/django-project/myapp/mytemplates/'
)

话虽如此,默认情况下,应将模板加载器设置为递归地遍历你的应用程序目录以查找模板文件。

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source',
#     'django.template.loaders.eggs.load_template_source',
)

除非你特别想覆盖某些内容,否则无需复制管理模板。

如果尚未运行syncdb,则必须运行它。如果你通过runserver托管django,则还需要静态地管理媒体文件。



 类似资料:
  • 是时候把数据展示出来了!Django提供了一个非常有用的内置来实现-—|-模板标签 什幺是模板标签呢? 正如你在前面章节中所了解的那样, 我们并不能将 Python 代码嵌入到HTML中。 因为浏览器不能识别 Python 代码, 它只能解析HTML。 我们知道,HTML是静态页面,而 Python 则显得更加动态。 Django模板标签允许我们将Python之类的内容翻译成HTML,所以你可以更

  • 在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!"。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。 本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。 模板应用实例 我们接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 h

  • 主要内容:渲染函数,Django模板语言(DTL),过滤器,标签Django能够单独分开 Python 和 HTML,Python代码/变量进入视图和HTML模板。 连接这两个,Django依赖于渲染函数和Django模板语言。 渲染函数 这个函数有三个参数 − 请求− 初始化请求 模板路径 − 这是相对于在项目 settings.py 文件的变量到 TEMPLATE_DIRS 选项的路径。 参数字典 − 字典包含所需的模板中的所有变量。这个变量可以创建或者可

  • 我创建了新项目,但找不到出错的地方。 Django versiob - 3.1.5 蟒蛇 3.7.4 模板DoesNotExist位于/index。html请求方法:GET请求URL:http://127.0.0.1:8000/Django版本:3.1.5异常类型:TemplateDoesNotExist异常值: 索引。html异常位置:C:\Users\user\PycharmProjects\

  • 问题内容: 我正在寻找一种使用django中的模运算符之类的方法。我想做的是在循环中的每个第四个元素中添加一个类名。 使用模数,它看起来像这样: 当然,这是行不通的,因为%是保留字符。还有其他方法吗? 问题答案: 您需要divisibleby(内置的django过滤器)。

  • 问题内容: 我正在尝试在Django模板中使用Vue.js。以下是一种这样的模板: 我将Vue的插值定界符更改为 [[]], 以避免与Django发生冲突。我的样子如下: 不幸的是,呈现的HTML包含。还有其他人遇到过类似的问题吗? 问题答案: 正如Vue v1.0的每个文档所说: 因此,在您的示例中更改为: 但是,强烈建议您使用新版本的Vue(版本2)以便保持最新!