Django框架——进阶之AJAX】的更多相关文章

<script>$("#b1").on("click", function () { // 点击 id是b1的按钮要做的事儿 var i1 = $("#i1").val(); var i2 = $("#i2").val(); // 往后端发数据 $.ajax({ url: "/ajax_add/", type: "get", data: {"i1": i1…
Django框架 之 基于Ajax中csrf跨站请求伪造 ajax中csrf跨站请求伪造 方式一 1 2 3 $.ajaxSetup({     data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, }); 方式二 1 2 3 4 5 <form> {% csrf_token %} </form><br><br><br>$.ajax({<br>...<br>data:{ &qu…
##################    为什么使用中间件?      ####################### 先说几个需求, 1,url的白名单,url=[ "XX"],这个里面是一个用户可以访问的url,这就是一个权限的概念了, 2,登陆之后才能访问某些url,之前使用的是装饰器,一个网站可能有一两千的url,这样加装饰器就不太好,所以使用中间件是非常不错的, ##################    什么是中间件?      #####################…
##################   预备知识---json     ####################### 预备知识,json 什么是json?这是一种数据格式,和语言没有关系, 为什么会有json这种数据格式,就是为了可以实现跨语言的传输,比如前后端的传输,前端是js,后端可以是c,go,python,java,php,等等, 不同的后端语言怎么和前端语言做交互呢? 现在企业基本都是前后端分离的,前端需要什么数据,你就返回什么数据,就可以了,前端框架Vue,后端就是写API,只写…
一.概述 1.什么是JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台,JSON 解析器和 JSON 库支持许多不同的编程语言 图示:JavaScript与Python间JSON支持的数据类型以及相应转换关系 示例: 真确的Json对象…
####################################### """ 一.为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能, 如果缺少了同源策略,浏览器很容易受到XSS.CSFR等攻击.所谓同源是指"协议…
Django ORM那些相关操作 Django中ORM介绍和字段及字段参数 Cookie.Session和自定义分页 Django 中间件 AJAX Django form表单 Django的认证系统 Django-Ajax及跨域请求 Django-组件拾遗 Django contenttypes 应用…
############################################### """ django中csrf的实现机制 #第一步:django第一次响应来自某个客户端的请求时,后端随机产生一个token值,把这个token保存在SESSION状态中;同时,后端把这个token放到cookie中交给前端页面: #第二步:下次前端需要发起请求(比如发帖)的时候把这个token值加入到请求数据或者头信息中,一起传给后端:Cookies:{csrftoken:xxx…
##################   分页    ####################### 分页, django有自己内置的分页,但是功能不是很强大,所以自己写一个分页, web页面数据非常多的时候,是必须要有分页的, 分页思路:通过url后面加参数的形式, http://127.0.0.1:8000/book_list/?page=1 页面 展示数据 切片 第一页,1-10 [0-10] #因为切片下标不包含, 第二页,11-20 [10-20] 第三页,21-30 [20-30]…
##################    django的认证系统     ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能, Django它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据. ##################    django的认证系统----auth常用的方法      ###############…
###############   django-缓存页面    ############### ########################################### # 全站缓存, # 整个网站的所有的页面都做缓存 # 要有一个中间件, # 在中间件里面做缓存, # 使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户, # 当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCac…
###############    django--admin的使用    ################ # django后台管理: # 第一步: # 在settings文件中修改语言和时区 LANGUAGE_CODE = 'zh-hans' # 中国语言 TIME_ZONE = 'Asia/Shanghai' # 中国时间 # 第二步: # 创建一个超级用户, python manage.py createsuperuser # 第三步: # 注册模型类 from django.cont…
############################################################ """ 通常在Django项目中,我们编写的大部分都是与Django 的模型紧密映射的表单. 举个例子,你也许会有个Book 模型,并且你还想创建一个form表单用来添加和编辑书籍信息到这个模型中. 在这种情况下,在form表单中定义字段将是冗余的,因为我们已经在模型中定义了那些字段. 基于这个原因,Django 提供一个辅助类来让我们可以从Django…
##################     form组件做了什么事情?      ####################### 之前web开发的模式,以注册为例 1,要有一个注册页面,然后有一个form表单 ---->html代码 2,数据提交到后端,做校验, ---->数据有效性校验, 3,把校验的提示信息,展示在页面上,--->校验信息返回,并保存原来的值 关于校验: 1,前端通过js校验,比如数据输没输,格式是否正确,都是可以前端校验的, 2,数据准确性的需要后端做, 这两个都…
###############    python基础回顾:装饰器    ################ # 装饰器非常重要,1是写代码的时候,2是面试的时候,没有python开发不问装饰器的, # 装饰器绕不过去,一定会用到,不会装饰器不要说会python, # 理解Python装饰器(Decorator) # 想要理解Python中的装饰器,不得不先理解闭包(closure)这一概念. # 闭包: # 就是一个函数里面又套上另一个函数的定义,你反而要用的是内部函数,而且内部函数会用到外部函…
Python开发[第二十二篇]:Web框架之Django[进阶]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205  Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代…
一.Django框架之查漏补缺 1)models,字段概况 name = models.CharField(max_length=) age = models.IntegerField() price = models.FloatField() pub_date = models.DateField() author = models.CharField(max_length=,null=False) gender = models.BooleanField # 布尔类型 gender = mo…
Flask框架py解决跨域问题示例: # -*- coding: utf- -*- # by zhenghai.zhang from flask import Flask, render_template, jsonify, request from flask_pymongo import PyMongo,DESCENDING import datetime import time app = Flask(__name__) app.config['MONGO_DBNAME'] = 'serv…
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3>form表单上传文件</h3>     <form action="/upload_file/" method="post" enctype="multipart/form-data">     <p><…
Django框架 之 Ajax 浏览目录 AJAX准备知识 AJAX与XML的比较 AJAX简介 jQuery实现的ajax AJAX参数 AJAX请求如何设置csrf_token 序列化 一.AJAX准备知识 1.什么是json JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript 语法来描述数据对象…
Django框架09 /ajax.crsf.settings导入 目录 Django框架09 /ajax.crsf.settings导入 1. ajax概述 2. ajax应用 3. ajax上传文件 4. jsonresponse应用 5. csrftoken /跨站请求伪造 6. django中setting引用 1. ajax概述 使用Javascript语言与服务器进行异步交互,AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行. 在不重新加载整个页面的情况…
12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息 获取Cookie: request.COOKIES['login'] #找不到时报错 login_flag = request.COOKIES.get("login","") #找不到时返回None request.get_signed_cookie(k…
目录 一.orm查询优化 1.only与defer 2.select_related与prefatch_related 二.模型层choices参数 三.MTV与MVC模型 1.MVC 2.MTV 3.区别 四.Ajax简介 五.前后端传输数据编码格式 1. 不同的编码格式 2. 前端朝后端发送数据的请求方式 2.1 form表单发送数据编码格式 2.2 ajax发送数据的编码格式 六.序列化(drf会用到) 一.orm查询优化 能少走数据库就少走数据库. 1.only与defer only:取…
阅读目录 什么是中间件 中间件的执行流程 中间件的逻辑过程 一.什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出. 每个中间件组件都负责做一些特定的功能.但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能. 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法, Django框架会在请求的特定的时间…
一.MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分: 模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. MVC的实质就是用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面, 在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. 想要更详细的了解MVC模式? >> 谈谈MVC模式 Django框架…
Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost'…
Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost'…
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 本文将带大家全面了解Django框架,笔者使用的版本为1.10. 1 Django流程介绍 2 Django 基本配置 一.创建django程序 终端命令:django-admin startproject sitename  (在当前目录下创建一个Django程序) IDE创建Django程序时…
一.cbv cbv(class-base-view) 基于类的视图 fbv(func-base-view) 基于函数的视图 a.基本演示 urlpatterns = [ url(r'^login.html$', views.Login.as_view()), ] urls.py from django.views import View class Login(View): """ get 查 post 创建 put 更新 delete 删除 ""&quo…
Django框架之中间件与Auth模块一 cbv加装饰器 -先导入:from django.utils.decorators import method_decorator -1 可以在方法上加装饰器:  @method_decorator(login_auth) -2 可以在类上加  @method_decorator(login_auth,name='post')  @method_decorator(login_auth,name='get') -3 可以加在dishpatch方法上  @…