需要教程的请关注个人微信公众号


模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容:

  1. 静态内容:css,js,image
  2. 动态内容:用模板语言语言动态的产生一些网页内容

模板文件的使用

  1. 在项目目录下创建模板文件夹templates
  2. 配置模板目录,在setting.py 里面有一个TEMPLATES项DIRS
'DIRS': [os.path.join(BASE_DIR,'templates')],  # 配置模板目录,默认是[],里面是空的

BASE_DIR:获取项目的绝对路径,与templates进行拼接
  1. 创建html文件:在templates下创建html文件
  2. 使用模板文件
    4.1.加载模板文件:去模板目录下获取html文件的内容,得到一个模板对象
    4.2.定义模板上下文:项模板文件传递数据
    4.3.模板渲染:得到一个标准的html内容
def index(request):
# return HttpResponse("hello django")
# 使用模板文件
# 1.加载模板文件,返回的是模板对象
temp = loader.get_template('booktest/index.html')
# 2.定义模板上下文:给模板文件传递数据
context=RequestContext(request,{})
context={}
# 3.模板渲染
res_html=temp.render(context)
# 4.返回给浏览器
return HttpResponse(res_html)

上面的方法不够灵活,如果还有页面,又要重新写一遍,自己封装一个函数

def my_render(request,template_path,context_dict):

    temp = loader.get_template(template_path)
# context=RequestContext(request,context_dict)
context=context_dict
res_html=temp.render(context)
return HttpResponse(res_html) def index(request):
return my_render(request,'booktest/index.html',{})

模板参数传递

views.py:
return my_render(request,'booktest/index.html',{'now':now,'list':list(range(1,10))}) index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h>您好,这是一个模板文件</h><br/>
now变量:<br/>{{now}}<br/>
遍历变量:<br/>
<ul>
{% for i in list%}
<li>{{i}}</li>
{% endfor %}
</ul>
</body>
</html>

变量写在{{模板变量名}}中,代码段写在{% %}中

08-Django 模板的更多相关文章

  1. Django模板语言相关内容

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 ...

  2. Django 模板系统

    Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...

  3. Django模板语言与视图(view)

    常用语法 {{  }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后 ...

  4. Django模板语言(一)

    1,Django模板语言 1.1>基础语法:1.1.1,变量相关:{{ 变量名 }},1.1.2,逻辑相关{% ... %} 在Django模板语言中按此语法使用:{{ 变量名 }},当模板引擎 ...

  5. Django模板与Vue.js冲突问题

    参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...

  6. 在 Django 模板中遍历复杂数据结构的关键是句点字符

    在 Django 模板中遍历复杂数据结构的关键是句点字符 ( . ). 实例二 mysit/templates/myhtml2.html修改如下 <!DOCTYPE html> <h ...

  7. python django 模板

    1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...

  8. django 模板中定义临时列表

    <ul class="num_t clr"> {% for obj in ""|ljust:"10" %} <li> ...

  9. Django 模板中引用静态资源(js,css等)

    Django 模板中免不了要用到一些js和CSS文件,查了很多网页,被弄得略晕乎,还是官网靠谱,给个链接大家可以自己看英文的. https://docs.djangoproject.com/en/1. ...

  10. Django模板-分离的模板

    上一篇Django模板-在视图中使用模板最后的问题,我们需要把数据和展现分离开. 你可能首先考虑把模板保存在文件系统的某个位置并用 Python 内建的文件操作函数来读取文件内容. 假设文件保存在 E ...

随机推荐

  1. 小程序 - 简单实现mixin功能

    前言 在业务中有没有一个场景:多个页面需要用到一样的 data 和 method,或者生命周期都需要执行同样的操作.我们在每个页面都写上重复的代码,一但功能修改就要更新多个页面,在后期维护起来会很麻烦 ...

  2. python学习笔记-生成随机数

    更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 在实现算法时经常会用到随机数,有时会忘记各种随机数的生成方法,这里对Python中的随机数生成方法进行汇总,以供以 ...

  3. linux—ln

    1.  软连接:不可删除源文件,删除源文件导致链接文件找不到,出现红色闪烁. 2.  硬链接:  源文件删除后,链接文件可以正常打开,链接前后的文件inode号相同,硬链接只能针对文件做链接,,不能针 ...

  4. InputStream 读取中文乱码 扩展

    对于InputStream读取中文乱码,下面这段话给出了很好的解释,以及后续编码上的扩展. BufferedInputStream和BufferedOutputStream是过滤流,需要使用已存在的节 ...

  5. leetcode-164、最大间距

    export default (arr) => { // 如果数组长度小于2返回0 if (arr.length < 2) { return 0 } // 排序 arr.sort() // ...

  6. nginx 自启动设置

    首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令: 1 vim /etc/init.d/nginx 在脚本中添加如下命令: #!/bin/sh # # nginx ...

  7. 原生js复制粘贴上传图片前后台代码,兼容firebox,chrome, ie11,亲测有效

    需求:粘贴上传图片,截图工具,右键粘贴,或者ctrl+v粘贴 方法1:可直接套用富文本框的图片上传功能,完成复制粘贴 缺点:麻烦,样式难控制 方法2:用原生js完成,以下案例基于此,样式请自己动手调整 ...

  8. 调用高德API,通过输入的地址,如省份、市、区获取经纬度 ,通过输入的经纬度,获取区域详情

    一.pom <?xml version="1.0" encoding="UTF-8"?><projectxmlns="http:// ...

  9. 升鲜宝V2.0_生鲜配送管理系统_杭州生鲜配送行业,升鲜宝使用教程 客户管理 第二章

    1.新增客户 (1)新增客户有两种方式,单个添加和批量添加,客户的结构可以是独立的,也可以是父子结构(比如杭州升鲜宝科技有限公司下有西湖区部门,滨江区部门,余杭区部门等多个分部,就可以建立父子结构,这 ...

  10. day04逻辑运算符短路、多分支结构(if和switch)、循环结构、while循环

    复习 1.运算符和表达式 1)表达式 2)算数运算符 + - * / % 3)关系运算符 >  <  >=  <=  ==  != 4)逻辑运算符 &&   | ...