代码编织梦想

day02

1.http请求和响应:

301-永久重定向:当在地址栏输入360buy.com发出请求后,在京东服务器发出响应后,在响应头LOCATION中包含新的URL地址jd.com.客户端浏览器收到响应向新的URL地址发出get请求,这样的话就能重定向URL地址了;

开发时候我们使用Firefox,F12打开调试窗口

get从服务器端获取数据,通过查询字符串方式传递数据

  1. 模板的使用

​ 2.1 在项目目录下创建子目录templates

​ 2.2 在setting.py文件中,配置模板

​ 2.3 模板加载方式

  1. 防止xss有效攻击方式:转义

​ html.escape(‘js脚本’)

​ 演示:输入ipython3进入交

import html

In [2]: script=‘’

In [3]: safe_script=html.escape(script)

In [4]: safe_script
Out[4]: ‘<script>alert(1111)</script>’

In [5]: html.unescape(safe_script)
Out[5]: ‘’

过滤器:

​ trunscatechars:'8’在中文环境下留下八个字符,末尾不会留下…通常我们自己加;

​ 英文模式下会留下七个字符,但是末尾有…占据一个字符,总共是8个字符

​ 总结:1.客户端向服务器端通过URL传参有两种方式

​ 1.1 path转换器

​ 1.2 查询字符串

  1. 代码编写完成后,检查一下终端,服务是否正常启动,如果没有正常启动,一定要看错误提示
  2. 如果启动成功,是通过点击表单按钮产生了错误,看浏览器的错误提示;
  3. 浏览器的调试窗口看响应,按F12打开调试模式
  4. 在服务器视图函数中,看一下有没有拿到传递过来的数据,print函数会在终端打印

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/Hans_grant/article/details/111088865

@RequestMapping 与@GetMapping和@PostMapping的关系-爱代码爱编程

从浏览器只能发起GET请求,不能发起POST请求   用@RequestMapping注解可发起GET和POST请求 增: @RequestMapping(value = "/create",method = RequestMethod.POST) ,等于@PostMapping(value = "/create") 查: @RequestM

逻辑运算符&& || !的使用-爱代码爱编程

所谓逻辑运算符就是与&&、或||、非! 三种,逻辑运算符又叫条件运算符,即运算的结果只有两种,真(true)或假(false)。在进行逻辑运算学习前,我们先复习一下非Boolean类型转换为Boolean的规则: 使用Boolean()函数 (1)数字 --> 布尔 除了0和NaN,其余都是true (2)字符串 --> 布尔

springboot + shiro应用,[nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]-爱代码爱编程

1、报错:ERROR 14584 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request p

重定向防止表单重复提交-爱代码爱编程

重定向防止表单重复提交 1、表单重复提交的情况:2、实例(1)针对第一种情况(提交完表单之后,刷新网页)(2)针对第二种情况(网络延迟)(3)回退按钮重复提交表单3、重复提交带来的问题 1、表单重复提交的情况: (1)提交完表单之后,刷新网页。 (2)第一次单击提交之后,在没有提交成功情况下,又单击提交按钮。 (3)用户提交表单后,点击浏

JavaWeb选修(JavaScript部分)-爱代码爱编程

1.自行设计页面格式及样式,通过JavaScript脚本判断输入的密码中是否含有数字、英文字母及其他字符三类符号。若不含有此三类给予提示。 在这里插入代码片 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert ti

使用OpenSSL自建一个HTTPS服务-爱代码爱编程

1. 理论知识 1.1 什么是https 传统的 HTTP 协议以明文方式进行通信,不提供任何方式的数据加密,很容易被中间攻击者破解通信内容或者伪装成服务器与客户端通信,在安全性上存在很大问题。 HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成

自定义Django认证系统的技术方案-爱代码爱编程

‍ Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求。自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换。本文就来介绍自定义Django认证系统的相关技术细节。 自定义认证后端 AUTHENTICATION_BACKENDS Django默认认证后端为: ['django.contrib.auth.bac

Django-ORM模型层语法(十二)多表查询之Q查询-爱代码爱编程

Q查询 生成多表的准备工作已经在博客[Django-ORM模型层语法(四)之多表操作准备工作]中写了,各位可以点击下方的链接,跟着操作: 多表操作的准备工作(非常重要!一定要看喔!) app01_book表 : idtitlepricepublish_datepublishs_id1红楼梦662020-02-0222聊斋1002020-02-02

Django-ORM模型层语法(十一)多表查询之F查询-爱代码爱编程

F查询 生成多表的准备工作已经在博客[Django-ORM模型层语法(四)之多表操作准备工作]中写了,各位可以点击下方的链接,跟着操作: 多表操作的准备工作(非常重要!一定要看喔!) app01_book表 : idtitlepricepublish_datepublishs_id1红楼梦662020-02-0222聊斋1002020-02-02

django基础学习笔记-爱代码爱编程

django_day01 前段:html div css实现特效,前段负责颜值 后端:负责快速响应、安全;使用框架扩展、使用缓存内存数据库 Python常见框架:django(重量级,集成很多功能模块)、flask(轻量级,开发时候更灵活) 一、django的介绍 ​ django最早做新闻内容管理系统;django目标用于更加简单的实现许多代码

Django框架-爱代码爱编程

Django框架 mvc介绍mvc工作原理Django简介MTV框架模式python虚拟环境虚拟环境安装虚拟环境虚拟环境操作Django创建和使用创建Django创建应用将应用绑定到项目启动服务器模型orm介绍表的创建模型类生成表通过模型类操作数据库添加数据查询数据改数据删除数据后台管理本地化创建管理员注册模型类自定义管理页面字段属性和选项模型类中

Django:DjangoRestFramework drf 开发5-爱代码爱编程

9. 模型类序列化器 1. 定义模型类序列化器 模型类序列化器ModelSerializer,继承自SerializerModelSerializer将代码进行了进一步的封装 定义属性,指定类型和参数定义验证方法定义保存方法: create() update()ModelSerializer封装了定义属性,指定类型,定义保存方法使用模型类序列化器