Django学习之模板标签和变量】的更多相关文章

safe过滤器和{% autoescape %}标签 首先看这样一个例子: views.py中: c = '<h3>更上一层楼</h3>' render(request,'test.html',{'content': c}) 然后再html中使用变量{{ content }} 上述例子就涉及到了过滤器safe,如果不加safe标记,html字符串是会被自动转义的(即原样输出):禁止自动转义之后,按html格式输出变量内容. 而如果使用到{% autoescape %}标签: 参数为…
1.第一个标签是 if 标签 vim  learn/home.html <!DOCTYPE html><html><head>        <title>{{title}}</title></head><body>{% if  user  %}        <li>name: {{user.name}} <li>{%else%}用户不存在{%endif%}</body></ht…
1.前言 首先,我们要知道html是一门静态语言,里面没法传一些动态参数,也就是一个写死的html页面. 那么,如果我们想实现在一个html页面里传入不同的参数对应的参数值,这就可以用django框架提供的模板传参功能来解决. 2.模板传参 2.1.先在hello应用下或者[helloworld/hello/]下新建一个templates文件夹,具体层级目录如下. 2.2.在[helloworld/hello/templates]下新建一个[hongjingsheng.html],[hongji…
Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环的序号反向排列,从1开始计算,从0开始计算在后面加上0{% forloop.revcounter0 %} {% if condition1 %}sentence1{% else condition2 %}sentence2{% endif %} 模板标签url反向解析 视图函数 def studen…
模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设计. 编写python和HTML设计是两项不同的工作,应该明确分工. 两项同时进行效率最高. 模板:HTML代码+模板语法 def current_time(req): # ================================原始的视图函数 # import datetime # now…
django 目前了解的各个文件的作用: manage.py:  运行服务 urls: 路由 views: 处理数据 传递给 html模板 html文件:  通过 {{变量名}}接收变量 通过 模板标签{% 标签名%} 格式化输出 html模板 静态文件引入 配置 settings.py STATIC_URL = '/static/' #静态文件目录 的别名. 可以为任意名称 -增加 STATICFILES_DIR = [os.path.join(BASE_DIR,'static')]  # 默…
Django 模板 在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!".该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想. 本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容. 模板应用实例 我们接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 hello.html文件,整个目录结构如下: HelloWorld/ |…
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cycle 循环对象的值 debug 调试模式 extends 继承模版 filter 过滤功能 firstof 输出第一个不为False的参数 for 循环对象 for … empty 带empty说明的循环 if 条件判断 ifequal 如果等于 ifnotequal 如果不等于 ifchange…
一.内置模板标签 语法:{%  %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on %} {{ body }} {% endautoescape %} block : 定义 可以被子模块覆盖的块,具体的参阅Django模板与继承 comment : 忽略comment之间的所有内容 查看网页源码也不会存在 csrf_token : 此标记用于csrf保护,具体的参阅Django跨站请…
一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: def index(request): return render(request,'app02/index.html',{'title':'mypage','user':'<ul>dd</ul>'}) html: <body> {{ user }} #默认为不转义#}…
首先注册方法一般都是先实例化一个template.Library.如: from django import template register = template.Library() 1.注册自定义过滤器方法 register.filter('A',b) filter()方法中的2个参数分别:A过滤器的名称(一个字串)和 b过滤器函数本身. 2.注册自定义模板标签方法 register.tag('A',b) tag()方法需要2个参数:模板标签的名字A和编译的函数b. 3.注册简单标签的方法…
在day4中,你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. html = "<html><body>It is now %s.</body></html>" % now 尽管这种技术便于解释视图是如何工作的,但直接将HTML硬编码到你的视图里却并不是一个好主意. 让我们来看一下为什么: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修…
 一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和views文件return第三个参数(字典)中的键一一对应. views.py中的内容: def index(request): # 变量里的变量名等于return中的值,return的键要也模板{{ 值 }}的一一对应 s = "hello"  # 一个变量 list1 = ['one'…
三板斧 render,HttpResponse,redirectrender返回一个HTML页面,并且还能够给该页面传数据render内部原理: from django.template import Template,Context def index(request): temp = Template('<h1>{{ user }}</h1>') con = Context({'}}) res = temp.render(con) print(res) return HttpR…
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cycle 循环对象的值 debug 调试模式 extends 继承模版 filter 过滤功能 firstof 输出第一个不为False的参数 for 循环对象 for - empty 带empty说明的循环 if 条件判断 ifequal 如果等于 ifnotequal 如果不等于 ifchange…
从视图的Python代码中把变量传入HTML模板. 模板中使用哪种句法引入Python对象,要使用的符号{{...}},它会以字符串的形式显示对象: <html> <head> <title>To-Do lists</title> </head>> <body> <h1>Your To-Do list</h1> <form method="POST"> <input…
1.vim learn/home.html <!DOCTYPE html><html><head>        <title>{{title}}</title></head><body><hl>hello {{user}}</hl></body></html>花括号里加入的就是模板变量 2.vim /learn/views.py def  home(request):   …
一.常用语法 1.变量 2.Filters 3.自定义filter 4.Tags 5.csrf_token 6.注释 7.注意事项 二.母板 2.继承母板 3.块(block) 4.组件 5.静态文件相关 三.自定义simpletag 四.自定义inclusion_tag 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/language/ 一.常用语法 Django模板中只需要记两种特殊符号: {{ }}和 {% %} {{ }…
首先在模板下建一个index.html <!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body><h1> hello {{uname}}</h1></body></html></body></html>~ 1.from…
如何使用渲染模板的方法来显示内容. 1.创建一个项目dream django-admin.py   startproject   dream cd  dream    再创建一个应用 python manage.py  startapp  learn 2.把创建的应用-learn加入到 settings.INSTALLED_APPS中 INSTALLED_APPS = (     'django.contrib.admin',     'django.contrib.auth',     'dj…
下面是一个新闻的模板:mysite/news/templates/news/year_archive.html mysite/news/templates/news/year_archive.html {% extends "base.html" %} {% block title %}Articles for {{ year }}{% endblock %} {% block content %}<h1>Articles for {{ year }}</h1>…
核心: PS:一个页面只能继承一个模板. 前置: 配置url. 配置views 关键字: 1. {% extends "index模板.html" %} 声明继承于哪个模板 ,关联哪个模板页面. 2. {% block title %}<h1>用户管理页面:</h1>{% endblock %} 主页面 写内容,模板页面只需添加到制定位置 3. {% include "index-导入.html" %} 在主页面 直接导入即可. index页…
先在views视图内,定义列表数据,以及字典数据.运用render函数传递两个列表数据至前端. from django.shortcuts import render list_info = [ {"}, {"}, {"}, {"}, {"}, {"}, {"}, ] dict_info = { "}, "}, "}, "}, "}, "}, "}, } def in…
在 views.py 上修改 ... def ordered(req): return render(req, "ordered.html") def shopping_car(req): return render(req, "shopping_car.html") 在 urls.py 上修改 ... path('ordered/', views.ordered), path('shopping_car/', views.shopping_car), ... 在…
1. 配置环境,创建django工程 虚拟环境下建立Django工程,即创建一个包含python脚本文件和django配置文件的目录或者文件夹,其中manage.py是django的工程管理助手.(可在setting.py文件中更改语言.时区等) 主目录下(manage.py文件所在目录)下创建应用app(创建博客应用:python manage.py startapp blog),创建后需在setting.py文件中注册该应用(INSTALLED_APPS). 2. Model层——Djang…
组合搜索组件 我们都会写博客,写文章之后我们要给文章设置目录,设置类型.之后我们在浏览文章的时候就能够按类别进行精确定位到文章,那这个组合搜索我们应该怎么做呢? 首先我们先创建3张表,分别存放文章,文章目录和文章分类: models.py #文章目录 class Category(models.Model): caption = models.CharField(max_length=16) #文章分类 class ArticleType(models.Model): caption = mod…
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/views.py from django.shortcuts import render class Person(object): def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def say(sel…
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hello World/temlplates/index.html中,修改html文件 <!DOCTYPE html> <html lang="zh-cn"> <head> <title>{{title}}</title> <met…
一.模板标签: 作用:标签在渲染的过程中提供任意的逻辑:例如 if for...in... 等 标签语法:由 {% %} 来定义的:例如:{% tag %}xxx{% endtag %} 常用标签: if 标签: 可以使用 and or in not == != <= >= 来进行判断 {% if a == "xx" %} # == 号两边必须要有空格 判断成立执行的语句 {% elif a == "zz" %} 判断成立执行的语句 {% else %}…
一.模板路径的查找: 查找顺序:(现在哪找到就用那个) 首先在主目录的 setting.py 文件里的 TEMPLATES 中的 DIRS 里找: 其次如果 DIRS 中的 APP_DIRS : 'True' 的时候在 settings.py 中的 INSTALLED_APPS 里注册的 app 里找 templates: 静态页面: 不随着客户端的变化而变化: 动态页面: 内容随着时间或不同的用户变化而变化 二.模板变量使用规则: 1.语法:{{ 变量名 }} 2.命名由字母和数字及下划线组成…