注意:前端有aaa变量,后端没有aaa变量,存在p标签,但是显示不出来

有p标签,我们可以指定默认值,在没有其他内容的时候

过滤器有60多种,有点多,用到的时候再记和查

结果:

显示是acd

看长度

查看文件大小:

view.py文件中的

name2='acd'

html中

<p>{{ name2|slice:'0:1' }}</p>

结果:

a  #注意这个也是顾头不顾尾

cut测试:

name3="I am donggua!"

去掉空格:

<p>{{ name3|cut:' ' }}</p>

html中:

<p>{{ name3|truncatechars:6 }}</p>

结果:

I a...   (3个点,也在6个字符之内)

测试:
<p>{{ name3|truncatewords:1 }}</p>
结果:(以空格进行划分)
I ...
truncatechars是以字符划分
truncatewords是以单词进行划分.

上边浏览器中显示的只是字符串

通过安全处理

点击"你好2",回到最上边.

2-2safe过滤

safe是xss攻击,可能存在攻击,不停攻击,浏览器限制这种用户的行为,浏览器对提交的所有提交的内容,全部变成字符串.

safe表示,我们这个标签是安全的,给我正常显示就可以了!!

具体操作,见上边bbb.

2-3for if with标签

结果:

翻转的过程:

结果:

结果:

上边这个从1开始计数,三次循环得到下面的结果:(优点类似枚举)

上边的方法表示从0开始

反转

判断是不是第一次(最后一次)循环first,last

parentsloop(字典里边嵌套列表)

结果:

双循环+if判断

在内层看外层的for循环

代表第二层循环

如果是个空列表

显示的结果是:什么都不会显示的

with:

2-4csrf_token解释

settings.py里边的,这是一个中间件安全认证机制

注意,要解开上边的中间件认证,

输入用户名&&密码,提交

目的:防止不良的请求,想办法应用上这个安全认证

如何解除,这个安全认证机制???在form表单中加入即可

{% csrf_token %}

这样就可以成功通过了,具体加了什么呢?后台有地方加了这些键和值

在后台存着这个东西,进行验证,是这个提交的.爬虫可以模拟请求也可以模拟post请求,必须按照人家正常的页面提交.

他的地盘他做主,在后台某个位置,存在着和这个键值对相同的东西

爬虫

先写个认证

下图说明,拿到了这个内容,但是这些内容禁止访问.

如果去掉中间件认证机制,也就是注释掉,运行显示,登录成功

每次刷新,是新的内容

后边将cookie会涉及到,主要是这个东西,会保存在后台的某个位置,

做爬虫我们可以考虑,先获取,在发送请求登录.

2-5csrf_token图解

2-6模板渲染

好多页面都是一样的,我们怎么处理相同的东西???

写商城,首页index,订单页,个人中心

base.html 也就是母版页

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="content-Type" charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width" ,initial-scale="1">
<!--上边这个表示手机版的调整尺寸-->
<!--上述2个meta标签"必须"放在最前面,任何其他内容都必须跟随其后-->
<title>
{% block title %}
母版的头信息
{% endblock %}
</title>
<style>
body{
padding: 0;
margin: 0;
}
.nav{
background-color: red;
height: 40px;
}
.left_list div{
width: 100px;
height: 20px;
background-color: pink;
border-bottom: 1px solid black;
}
.left_list{
float: left;
width: 100px;
}
.content{
float: right;
width: 600px;
height: 100px;
}
</style>
</head>
<body>
<div class="nav">
{#导航栏#}
<a href="">新闻</a>
<a href="">网页</a>
<a href="">图片</a>
</div> <div class="left_list">
<div><a href="/index/">首页</a></div>
<div><a href="/order/">订单页</a></div>
<div><a href="/user/">个人中心</a></div>
</div> <div class="content">
{% block content %}
母板预留的地方
{% endblock %}
</div> </body>
</html>

index.html

{% extends 'base.html' %}
{#一句话继承母版页面#}
{#继承的块是可以自定义的#}
{% block title %}
首页
{% endblock %} {% block content %}
<a href="">首页</a>
<span>首页介绍</span> {% endblock %}

usercenter.html

{% extends 'base.html' %}
{#一句话继承母版页面#}
{#继承的块是可以自定义的#}
{% block title %}
个人中心
{% endblock %}
{% block content %}
个人中心页面
{% endblock %}

order.html

{% extends 'base.html' %}
{#一句话继承母版页面,必须写在首行#}
{#继承的块是可以自定义的#}
{#可以多留一些钩子#}
{% block title %}
订单
{% endblock %}
{% block content %}
订单页面
{% endblock %}

1.继承必须写在首行

2.钩子越多越好,越灵活

如何保留母版中的内容?

{{ block.super }}放在前面,就在前面显示,放在后边,就在后边显示

3.不能重名

4.

巨蟒python全栈开发django4:url反向解析图解&&模板渲染2的更多相关文章

  1. 巨蟒python全栈开发django4:url反向解析图解&&模板渲染

    第一部分: 1.(1)知识点回顾: django回顾: ()下载安装 输入网址,a,form表单get post,爬虫 (请求)==>django项目服务端的url(r"index/& ...

  2. 巨蟒python全栈开发django3:url&&视图

    1.url正则匹配分组和命名分组 2.路由分发 3.url别名和反向解析 4.httprequest和httpresponse的使用 内容回顾: .jinja2(flask框架,没有内置模板对象,需要 ...

  3. day053 url反向解析图解 模板渲染

    一.语法 两种特殊符号(语法): {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二.变量 1. 可直接用  {{ 变量名 }} (可调用字符串, 数字 ,列表,字典,对象等) ...

  4. 巨蟒python全栈开发django5:组件&&CBV&FBV&&装饰器&&ORM增删改查

    内容回顾: 补充反向解析 Html:{% url ‘别名’ 参数 %} Views:reverse(‘别名’,args=(参数,)) 模板渲染 变量 {{ 变量名 }} 逻辑相关 {% %} 过滤器: ...

  5. 巨蟒python全栈开发flask2

    内容回顾: 上节回顾: Flask .response 三剑客: render_template 模板 redirect 重定向 - URL地址 "" 字符串 HTTPRespon ...

  6. 巨蟒python全栈开发-第11阶段 ansible_project3

    今日大纲: 1.用户创建 2.前端优化 3.用户编辑 4.用户删除 5.ansible api介绍 1.用户创建 新建一个user_create.html的页面 <form class=&quo ...

  7. 巨蟒python全栈开发django7:多表增加和查询

    1.回顾内容&&补充 补充1: 补充2: 这个选择的是第二个解释器. 选择第一个的话,只是针对当前的项目,如果再开新项目的话,需要重新下载安装相关的包. 点击保存,因为我们注释掉了,创 ...

  8. 巨蟒python全栈开发django2:初识django

    今日内容大纲: 1.起飞版web框架 2.自定制框架的流程 3.jinja2模板渲染初识 4.MVC&&MTV 5.django版本介绍及django安装 6.django初识(一些操 ...

  9. 巨蟒python全栈开发linux之centos6

    1.nginx复习 .nginx是什么 nginx是支持反向代理,负载均衡,且可以实现web服务器的软件 在129服务器中查看,我们使用的是淘宝提供的tengine,也是一种nginx服务器 我们下载 ...

随机推荐

  1. 理解shell中的atime,mtime,ctime

    所有文件都有3个时间信息,保存在文件系统中 atime (Access time)是文件最后一此读的时间 或者执行文件的时间 mtime (Modified time)是文件最后一次写的时间(是在写入 ...

  2. Struts Spring Plugin注意点

    Settings The following settings can be customized. See the developer guide. Setting Description Defa ...

  3. 8、Linux设备驱动的并发控制

    一.并发与竞争     并发是指多个 多个执行单元同时执行,而这对对共享的资源,比如硬件的资源.软件的全局变量.静态变量 的访问,很容易导致竞态, 1.1.中断屏蔽     在单核的  CPU 里,避 ...

  4. Python中json.loads解析包含\n的字符串会出错

    用python中的json.loads解析字符串,失败了. [解决过程] 1.调试了半天,终于发现,如果把其中的: "呵呵加那么多连接啊\n\n这个标准还是不错的\n\n给大家推荐一个更多的 ...

  5. 初次玩耍lucene.net,一个小小的记录

    lucene.net虽说是强大,但是我还是一年前第一次玩耍,然后就没有然后了,最近准备养成记录博客的习惯了,所以又玩了玩,回来记录一下 首先新建一个类,便于调用 public class Lucene ...

  6. H5网站模板——前台和后台

    以下是比较典型的前台或者后台的H5模板: html5优分期大学生分期购物商城模板链接:http://pan.baidu.com/s/1dEUAzBz 密码:j150 红色的五金电气商城网站模板链接:h ...

  7. 文件打开的过程——调用fd=open()时操作系统所做的工作

    fd=fopen()是一个系统调用.用于依据文件名称打开一个文件.返回该文件的文件描写叙述符,文件打开后进程便能够依据文件描写叙述符fd进行其它操作,比方读,写,关闭等操作. 各个操作系统打开文件的过 ...

  8. 集成学习1-Boosting

    转自http://blog.csdn.net/lvhao92/article/details/51079018 集成学习大致分为两类,一类串行生成.如Boosting.一类为并行化.如Bagging和 ...

  9. C语言基础(14)-递归

    一. 递归的定义 函数可以调用自己,这就叫函数的递归. 先序递归和后序递归 #include <stdio.h> void test(int n); void test1(int n); ...

  10. __attribute__系列之介绍篇

    1.什么是__attribute__? __attribute__机制是GNU C的一大特色,它可以设置函数属性.变量属性和类型属性等.可以通过它们向编译器提供更多数据,帮助编译器执行优化等. 2._ ...