django重点url,视图函数,模板语言
url
1.django重点url无命名分组:re_path()
2.url第一个参:url未命别名分组就不需要views中参数一定,若命别名(?P<year>[0-9]{4})/(?P<month>[0-9]{2})则必须以以
名命为参数传值,否则获取不到值。
3.url第三个参数:url里面传入参数,views函数里面同样要有参数,若出现参数别名和url参数重名,后面的会把前面的覆盖掉
4.url第四个参数:url中name属性给路径起一个别名对form表单中的action=""可使用次别名引用路径引用时要用模板语言或
直接用别名代替原路径名
5.url映射:使用 include方法:path('myset/', include('myset.urls')),
6.视图函数:
render(,'')对html页面中的模板语言进行解析渲染
在django.shortcuts中导入(但是此方法有坑,慎用)
render_to_response("")直接引进,和上面效果相同,注:要引入render_to_response方法
7.locals()方法(本地变量,还有其它变量):模板语言直接引用后端参数
视图函数
8.redirect()重定向
模板语言
html+逻辑控制语句
9.Templete(模板):
10.context(上下文):
进入django命令行:python manage.py shell
11.万能的句点号:可直接引用字典键值和列表值,还可以引用属性
12.{% if %}
13.{% for i in obj %}
s2=[1,2,3]
{% for foo in list %}
<p>{{ forloop.counter }}:{{ foo }}</p>
<p>{{ forloop.counter0 }}:{{ foo }}</p> #从零开始计数
<p>{{ forloop.revcounter }}:{{ foo }}</p> #倒叙计数
{% endfor %}
14.过滤器filter:
upper方法:使用管道符|upper内置函数把小写字母改为大写字母
loower方法:小写
add方法:使用管道符|add:参数,进行加法计算
cut方法:使用管道符|cut' ' 切掉引号里面的
date方法:时间排布
注:传参是连接就要进行安全设置所以类似于超级链接这种直接用模板语言是不可行的
超级链接安全设置:
{% autoescape off %}
{{ obj }}
{% endautoescape %}
safe标签:同上面的方法{% obj|safe %}
filesize标签:数据的大小或占有量
常用过滤器:
add:给变量加上相应的值
addslashes:给变量中的引号前加上斜线
capfirst:首字母大写
cut:从字符串中移除指定的字符
date:格式化日期字符串
default:如果值是False就替换成设置的默认值,否则就使用本来的值
default_if_name:如果值是None,就替换成设置的默认值,否则就使用本来的值
15.防止跨站请求攻击:当使用http请求返回页面的时候会出现403报错,无法进行页面渲染
所以要使用{% csrf_token %}模板语句
16.load标签:{% load %} 加载标签库
17.with标签:{% with %} 用更简单的变量名代替复杂的变量名
18.verbatim标签:{% verbatim %} 禁止render
19.自建模板标签方法:视频53-04,必须要会
注:@register.simple_tag装饰器在html中调用时使用{%%},并且可以传多个参数,但是不可以放在if语句下面作为条件
@register.filter装饰器在html中调用时使用{{}},但是最多可以传入两个参数,但可以放在if下面作为条件
settings:Installapps(app)
文件夹名字:templatetags
.html 文件 最上面:{% load tags %}
大括号和小括号的区别:
20.模板继承:避免页面重复代码太多 注:block的名字不能重复
模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.page-header{
height: 50px;
background-color: rebeccapurple;
}
.page-body .menu{
height: 400px;
background-color: antiquewhite;
float: left;
width: 20%;
}
.page-body .content{
height: 400px;
background-color: cornflowerblue;
float: left;
width: 80%;
}
.page-footer{
height: 30px;
background-color: darkcyan;
clear: both;
}
</style>
</head>
<body>
<div>
<div class="page-header"></div>
<div class="page-body"><a href=""></a>
<div>
<div class="menu">
<a href="/ordered/">订单</a>
<br>
<a href="/shoppingcar/">购物车</a>
</div> {% block content %} {% endblock %} </div>
</div>
<div class="page-footer"><a href=""></a></div>
</div>
</body>
</html>
继承:(1)
{% extends "base.html" %}
{% block content %}
<div class="content">
订单
</div>
{% endblock %}
继承:(2)
{% extends "base.html" %}
{% block content %}
<div class="content">
购物车
</div>
{% endblock %}
21.访问父模板中的块的内容,使用{{block.super}}这个标签
模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.page-header{
height: 50px;
background-color: rebeccapurple;
}
.page-body .menu{
height: 400px;
background-color: antiquewhite;
float: left;
width: 20%;
}
.page-body .content{
height: 400px;
background-color: cornflowerblue;
float: left;
width: 80%;
}
.page-footer{
height: 30px;
background-color: darkcyan;
clear: both;
}
</style>
</head>
<body>
<div>
<div class="page-header"></div>
<div class="page-body"><a href=""></a>
<div>
<div class="menu">
<a href="/ordered/">订单</a>
<br>
<a href="/shoppingcar/">购物车</a>
</div> <div class="content"> {% block content %}
wwwwyyyy
{% endblock %} </div> </div>
</div>
<div class="page-footer"><a href=""></a></div>
</div>
</body>
</html>
继承:
{% extends "base.html" %}
{% block content %}
{{ block.super }}
<div>
订单
</div>
{% endblock %}

最新文章

  1. SQLServer 游标 (A)
  2. php截取中文字符串乱码问题
  3. 你想建设一个能承受500万PV/每天的网站吗?
  4. apache2.2+PHP5.4.28
  5. 基于visual Studio2013解决C语言竞赛题之0803报数
  6. AM335x(TQ335x)学习笔记——u-boot-2014.10移植
  7. ubuntu14.04安装配置jdk1.8.0_25
  8. 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode
  9. LeetCode 628. Maximum Product of Three Numbers (最大三数乘积)
  10. x264源代码简单分析:宏块编码(Encode)部分
  11. java基本类型(数值范围):浮点的底层表示定义,float计算快一些
  12. JDK解压版制作
  13. 2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用
  14. 想起以前写的一个爬虫,然后就用C#WinForm写了一个下载小说的软件,比较简单
  15. CY7C68013 USB接口相机开发记录 - 第二天:驱动修改
  16. windows 性能监视器常用计数器
  17. django —— MVT模型
  18. Codeforces Round #321 (Div. 2) E - Kefa and Watch
  19. Java基础复习笔记基本排序算法
  20. HTML:meta标签使用总结 [转载] [360浏览器 指定极速模式]

热门文章

  1. NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结
  2. 2017 CCPC秦皇岛 L题 One Dimensions Dave
  3. E1.Send Boxes to Alice(Easy Version)//中位数
  4. leetcode -- 最长回文子串
  5. DS-5获取License
  6. java开发必学知识:动态代理
  7. Cmder介绍和配置
  8. Ubuntu19 安装Theano出现“No module named ‘theano.compat.six’”
  9. ArcGIS Runtime SDK for WPF学习笔记(一)
  10. QT--TCP网络编程(客户端/服务器)