django使用templates模板

简介:

Django中Settings中Templates的路径设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
## mysite/mysite/settings.py
## mysite是项目名
TEMPLATES  =  [
     {
         'BACKEND' 'django.template.backends.django.DjangoTemplates' ,
         'DIRS' : [os.path.join(BASE_DIR,  'templates' )],            # templates
         'APP_DIRS' True ,
         'OPTIONS' : {
             'context_processors' : [
                 'django.template.context_processors.debug' ,
                 'django.template.context_processors.request' ,
                 'django.contrib.auth.context_processors.auth' ,
                 'django.contrib.messages.context_processors.messages' ,
             ],
         },
     },
]

上面这个templates文件夹是放在project的目录下面的,是项目中或者说项目中所有的应用公用的一些模板


如果希望templates只给某一个app使用,可以这样设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
## mysite/mysite/settings.py
## mysite/app1/   
## mysite是项目名字,app1是应用名字
TEMPLATES  =  [
     {
         'BACKEND' 'django.template.backends.django.DjangoTemplates' ,
         'DIRS' : [os.path.join(BASE_DIR,  'app1/templates' )],     ## templates
         'APP_DIRS' True ,
         'OPTIONS' : {
             'context_processors' : [
                 'django.template.context_processors.debug' ,
                 'django.template.context_processors.request' ,
                 'django.contrib.auth.context_processors.auth' ,
                 'django.contrib.messages.context_processors.messages' ,
             ],
         },
     },
]


#########################

总结来说说:BASE_DIR是指mysite项目的绝对路径。

'DIRS': [os.path.join(BASE_DIR, 'templates')]  是指到  BASE_DIR/templates文件夹中去取模板
'DIRS': [os.path.join(BASE_DIR, 'app1/templates')] 是指导  BASE_DIR/app1/templates文件夹中去取模板
一般来说,应该设置'DIRS': [os.path.join(BASE_DIR, 'templates')],公用的templates需要指定。
app1专用的templates,放在app1/templates下,可以不需指定。因为在app1.views中若要指定一个专用模板,只要直接写‘app1_index.html’,Django服务器会在views文件所在的当前层(/app1)中找到templates,从而找到模板'app1_index.html'.
指定公用的templates路径,所有apps都可以调用,方便快捷。
app专用的templates不需要指定,这样当要复用这个app的时候,不需要考虑templates路径问题。









本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1901542,如需转载请自行联系原作者

目录
打赏
0
0
0
0
235
分享
相关文章
Python 教程之 Django(10)模板
Python 教程之 Django(10)模板
88 0
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
8月前
|
Django后端架构开发:视图与模板的正确使用
Django后端架构开发:视图与模板的正确使用
118 1
Django模板
【8月更文挑战第19天】
47 3
从平凡到卓越:Hibernate Criteria API 让你的数据库查询瞬间高大上,彻底告别复杂SQL!
【8月更文挑战第31天】构建复杂查询是数据库应用开发中的常见需求。Hibernate 的 Criteria API 以其强大和灵活的特点,允许开发者以面向对象的方式构建查询逻辑,同时具备 SQL 的表达力。本文将介绍 Criteria API 的基本用法并通过示例展示其实际应用。此 API 通过 API 构建查询条件而非直接编写查询语句,提高了代码的可读性和安全性。无论是简单的条件过滤还是复杂的分页和连接查询,Criteria API 均能胜任,有助于提升开发效率和应用的健壮性。
243 0
解锁Django模板系统终极奥义!揭秘高效前端渲染秘籍,让你的网站秒变炫酷黑科技!
【8月更文挑战第31天】Django作为Python的高级Web框架,内置的模板系统支持动态HTML渲染。本文通过在线书店案例,详细介绍Django模板系统的设置与高效渲染技巧,包括创建模板文件、编写视图函数及URL配置。通过合理使用过滤器、深度查询和模板继承等技巧,提升前端渲染效率和安全性,优化Web应用开发流程。
70 0
Serverless 应用引擎产品使用合集之基于django应用模板创建的FC,如何配置数据库
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等