Django中如何查找模板

参考:http://my.oschina.net/zuoan001/blog/188782

Django的setting中有关找模板的配置有如下两个:

TEMPLATE_LOADERS

TEMPLATE_DIRS

TEMPLATE_LOADERS是一个string tuple,可选的配置有:

django.template.loaders.filesystem.Loader
django.template.loaders.app_directories.Loader
django.template.loaders.eggs.Loader
django.template.loaders.cached.Loader

前两个Loader默认是打开的,后两个默认是关闭的。

默认情况下,Django 是先使用filesystem.Loader 的,只有当 filesystem.Loader 找不到模板时,才会使用 app_directories.Loader

filesystem.Loader 找模板的方式:它会根据 TEMPLATE_DIRS 去找模板。

默认的settings.py里是没有这个配置的,需要自己手动添加。设置示例:

TEMPLATE_DIRS = [os.path.join(BASE_DIR, ‘templates‘)]
TEMPLATE_DIRS = [os.path.join(os.path.dirname(os.path.abspath("__file__")), ‘templates‘)]
时间: 2024-07-29 21:34:18

Django中如何查找模板的相关文章

django中数据查找条件是表中的外键对应表的列该如何查找?

1 平常查找表中数据的条件是python中已有的数据类型,通过点运算符可以直接查找.如果条件是表中外键列所对应表的某一列,该如何查询数据?比如 class News(models.Model): title = models.CharField(max_length=50); summary = models.TextField(); url = models.CharField(max_length=150); favorCount = models.IntegerField(default=

Django中App的teemplates加载顺序

背景 ??Python版本:3.7 ??Django版本:1.8 做了一个简略的备忘概述,推荐阅读参考链接. 加载顺序 在Django中,App首先访问的templates是在setting中设置的DIRS. 如果DIRS文件夹中找不到模板的话,那么就会去App中去查找模板(不用自己设置是默认的). 但是如果在app的views中设置如下(指定文件夹),那么去查找的就是一个在settings中设置的DIRS文件夹下的test.html,如若找不到,会直接报错.而不会再去APP中去寻找test.h

Django中的URL配置和模板

Django中的URL配置 : 实例: Python代码   urlpatterns = patterns('', # Example: # (r'^myweb/', include('myweb.foo.urls')), # Uncomment the admin/doc line below and add 'django.contrib.admindocs' # to INSTALLED_APPS to enable admin documentation: # (r'^admin/doc

Python笔记(五)--Django中使用模板

使用Django开发网站时,如果不使用模板,那么将会很不合理.因为我们所有的html代码都需要被硬编码到我们的Python代码中.我们新建一个工程,然后再在新建一个应用程序,并在其中的views.py文件中添加如下代码: 1 #coding=UTF-8 2 from django.http.response import HttpResponse, Http404 3 import datetime 4 5 def hours_ahead(request,offset): 6 try: 7 of

django url路径与模板中样式相对路径的问题

static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的url如果存在多个"/"的话(我的是3个以上如:/a/b/c/d),模板中调用到的静态文件将无法获取模板中静态文件的引用: <link rel="stylesheet" type="text/css" href="../../static

django 在字符串[str(list)]中精确查找

1.问题描述 1.1表结构 1.2问题 ref_list为id列表的字符串,需要从ref_list中找出包含指定id的数据(eg id=8).如果实用models.objects.filter(ref_list__contains=id)无法实现精确查找 models.objects.filter(ref_list__contains='8') ''' 结果: 1 | 8,9,10,11 2 | 18,81 3 | 23,8,33 4 | 36,78,8 5 | 37,98, 69 有多余的数据

Django中模板总结[模板语言,模板继承,CSRF攻击,反向解析]

模板 概述 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器.模版致力于表达外观,而不是程序逻辑.模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用. 创建模板文件夹 在项目的文件里面定义一个templates文件夹 在创建的文件夹里面再创建一个文件夹为每个应用的html文件夹 起名为和应用名同名的文

59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用

主要内容: 1 form表单中提交数据的三要素 form标签必须要有action和method的属性 所有获取用户输入的标签必须放在form表单里,也必须要有那么name属性.因为往后端提交数据的时候name所对应的是关键字, input输入的值为value.在后端显示为字典的模式, 如果不写name关键字,则取不到值. 必须要有submit按钮. 2 Django 基础三件套 from Django.shortcuts import HttpResponse, render, redirect

Django中模板使用

第一步:配置 1.在工程中创建模板目录templates. 2.在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此处修改 'APP_DIRS': True, 'OPTIONS': { 'context_processo