模板标签: 标签在渲染的过程中提供任意的逻辑 语法: 由{% ... %} 和 {% end... %} 常用标签: with:类似取别名 模版继承: Django模版引擎中最强大也是最复杂的部分就是模版继承了. 模版继承可以让你创建一个基本的“骨架”模版, 它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks . 继承:extends 例: 子模版继承主模版base.html的全部内容 在子模版首行添加 {% extends 'book/base.html' %} 修改:bl…
一.模板的基础配置及使用 [参考]https://docs.djangoproject.com/zh-hans/3.0/topics/templates/ 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器.模版致力于表达外观,而不是程序逻辑.模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用. 1.1…
过滤器/自定义过滤器 模板语法中的过滤器类似于python中的内置方法,在我们把数据从后端通过rander传入到前端html文件中之后,在前端我们可以通过模板语法,对传入的数据再进行以通骚操作. 首先来看前端支持那些数据的传入: 能传入的数据类型:数字 字符串 列表 字典 集合 元组  函数  类产生的对象 等... 注意:1 函数传入后会被自动调用,所以函数传入之后,直观的提现就是返回了函数执行的结果.注意这里的函数是不支持传参的. 2 对象被传入后相当于用print()打印了该对象,也就是调…
常用模板标签及过滤器 标签和过滤器完整介绍 https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 模板的组成 HTML代码+ 逻辑控制代码 逻辑控制代码的组成 1. 变量(使用双大括号来引用变量) {{ var_name}} 2. 标签(tag)的使用(使用大括号和百分号的组成来表示使用tag) {{% load staticfiles%}} 3. 过滤器(filter)的使用 {{ship_date|date:"F j,…
Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环的序号反向排列,从1开始计算,从0开始计算在后面加上0{% forloop.revcounter0 %} {% if condition1 %}sentence1{% else condition2 %}sentence2{% endif %} 模板标签url反向解析 视图函数 def studen…
自定义标签与过滤器 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是templatetags) 创建任意 .py 文件,如:my_tags.py from django import template # 该对象名必须是register register = template.Library() #自定义过滤器装饰器 @register.filter def mult…
自定义步骤: 1.     在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.     在app应用中创建templatetags模块包(模块名只能是templatetags) 3.     创建任意 .py 文件,如:my_tags.py ·   导入模块:from django import template ·   实例化注册器:register = template.Library()   #register的名…
代码布局:(自定义的代码放在哪?) 1.创建某个 app 特有的: 在 app 目录下,创建 templatetags python包(文件夹): 再到 templatetags 文件夹下创建python模块(文件) 注意:templatetags 这个名字固定的,里面的模块名是自定义的 2.创建复用(公用)的: 创建一个新的app,将他们定义在新的app中,在主目录的setting.py文件里的 INSTALL_APPS 注册,然后就可以应用 一.自定义模板过滤器 创建: 模板过滤器就是一个函…
根据一定规则,自己定义出符合需求功能的.用在任何你有需求的地方,因为内置的满足不了我们的需求,不同的东西有不同的定义规则 目前最最重要的就是HOW 一 文件路径配置: templates 存放自定义 某个app特有的自定义标签:存放模板的目录:在app目录下创建一个python package,在其中新建templatetags标签及过滤器的目录 目录结构: 注意:templatetags这个目录名字是固定的,而里面的模块名是自定义的. 模板过滤器的分析: {{ var|foo:"bar&quo…
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.注册简单标签的方法…
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cycle 循环对象的值 debug 调试模式 extends 继承模版 filter 过滤功能 firstof 输出第一个不为False的参数 for 循环对象 for - empty 带empty说明的循环 if 条件判断 ifequal 如果等于 ifnotequal 如果不等于 ifchange…
django 目前了解的各个文件的作用: manage.py:  运行服务 urls: 路由 views: 处理数据 传递给 html模板 html文件:  通过 {{变量名}}接收变量 通过 模板标签{% 标签名%} 格式化输出 html模板 静态文件引入 配置 settings.py STATIC_URL = '/static/' #静态文件目录 的别名. 可以为任意名称 -增加 STATICFILES_DIR = [os.path.join(BASE_DIR,'static')]  # 默…
safe过滤器和{% autoescape %}标签 首先看这样一个例子: views.py中: c = '<h3>更上一层楼</h3>' render(request,'test.html',{'content': c}) 然后再html中使用变量{{ content }} 上述例子就涉及到了过滤器safe,如果不加safe标记,html字符串是会被自动转义的(即原样输出):禁止自动转义之后,按html格式输出变量内容. 而如果使用到{% autoescape %}标签: 参数为…
大部分的模板引擎都是支持过滤器功能的,jinja2也不例外,它提供了丰富的内置过滤器,但是有些时候还是没办法满足我们的需求,好在jinja2支持自定义过滤器,下面是一个简单的例子. 下面的例子完成了自定义过滤器,包括过滤器有一个参数和多个参数的使用 test.py# -*- coding:utf-8 -*-__author__ = 'guoqianqian' from flask import Flaskfrom flask_script import Managerfrom flask imp…
setting.py中 TEMPLATES = [ { 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'OPTIONS': { 'environment': 'libs.tags.jj2.Env' #py文件的路径 这里的 Env是定义的一个类名 }, },] Env类所在文件代码 # coding: utf-8"""添加自…
if/else {% if %} <p>内容</P> {% endif %} {% else %}是可选标签 {% if %} <p>内容</P> {% else %} <p>内容</p> {% endif %} '真值' False:空元组 空字典 空字符串 0 None False for <ul> {% for athlete in athlete_list %} <li>{{ athlete.name…
一.模板的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1.变量(使用双大括号来引用变量) {{ var_name }} 2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag) {% load staticfiles %} 3.过滤器(filter)的使用 {{ ship_date|date:"F j,Y" }},ship_date变量传给date过滤器,date过滤器通过使用"F j,Y"这几个参数来格式化日期数据. "|&qu…
项目的目录为 在app中创建templates时,最好要再创建一个app名相同的文件夹,因为项目找文件时从第一个app开始遍历,不同app内的同名文件会有冲突,所以这样处理 一.自定义标签和过滤器 1.在settings中的INSTALLED_APPS配置当前app,否则django无法找到自定义的simple_tag 2.在app中创建templatetags模块(模块名只能是templatetags) 3.创建 任意名称的.py 文件,如: my_tags.py from django im…
创建简单标签: 1-3 或者 2-3 创建包含标签: 1-2或1-3或1-4(推荐) 包含标签使用: 2 和 4对应上面的使用方法 在虚拟环境中安装: pip install pymysql 在settings.py 配置  进入 mysql: mysql -uroot -p密码 查看当前有哪些数据库 show databases; 创建数据库 create database mydb; 注:前面配置的‘NAME’: 'mydb',与当前创建的数据库名要一致 在主目录下的__init__,py …
1.File ---> setting ---->Live Template                2.添加模板 3.添加模板组 4.模板组命名 5.填写配置 6.Template text 配置: /****************************** * Author : ShaoYe * ClassName : $NAME$ * Date : $DATE$ * Time : $TIME$ * Type : $TYPE$ * Version : 1.0 * Return :…
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53   安装mysql 二.基础信息 1.App中的模型models.py from django.db import models # Create your models here. class users(models.Model): blog_username = models.CharField(max_length=20) blog_link =…
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…
在 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. 某个app特有的 -app 目录下,templatetags 文件夹     ** 必需是这个名称的包(目录中有__init__.py文件) -再到 templatetags 文件夹下创建python模块(py文件)2. 定义复用 -创建一个新的app,将他们定义在新的app中,在INSTALL_APPS 注册,然后就可以应用 -在 templatetags 文件夹下新建  tags.py   #文件名自己取 以下为文件内容: # 自定义模板标…
(一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(web application framework)是一种开发框架,用来支持动态网站.网络应用程序以及网络服务的开发. http服务器:用来接受用户的请求,并将请求转发给web应用框架进行处理.web应用框架处理完以后再发送给http服务器,http服务器再返回给用户. 但是,项目真要做大了,djan…
django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码布局 自定义标签和过滤器必须依赖于一个django app,也就是说,自定义标签和过滤器是绑定app的.该app应该包含一个templatetags目录,这个目录一个和model.py,views.py在同一个层级,记得在该目录下建立一个__init__.py文件一遍django知道这是一个pyth…
自定义过滤器 DTL模板语言生来只是为了方便的展示信息,所以与编程语言相比显得有点薄弱,有时候不能满足我们的需求.因此django提供了一个接口,让开发者能自定义标签和过滤器. 首先,你需要添加一个templatetags的文件夹, 自定义过滤器必须处在已经安装了的app中的一个名叫”templatetags”的包(文件夹)中.因此可以有两种选择: 一种是放在其他已经安装了的app中.这种方式简单,但不方便管理. 单独创建一个app,用来存放所有的自己定义的过滤器. 推荐使用 ps: templ…