首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零基础使用Django2.0.1打造在线教育网站(十七):要学习配置

配置要学习 这就是要学习的页面,它是通过Ajax来控制的,也就是异步的javascript和xml。它可以在保证当前页面不被重新刷新的条件下,提交表单向后台传送数据。...我们可以利用Django自带的ModelForm,这比form强大多了,除了继承现有的字段还可以新增字段!...,发现还是这个页面,确实是这样,我们的配置没有问题:[hsdjgauhch.png] 继续Ajax配置 前面说到我要学习的页面,它是通过Ajax来控制的,是一种异步加载方式,所以我们此时不能在view里面直接...我们是通过监听idjsStayBtn的按钮来实现对数据的控制,当用户点击了这个按钮,就会触发url跳转,如果成功则继续调用data函数,它有两个状态:成功和失败,分别对应不同的提示信息。...《趣玩Python爬虫》,目前在筹划,预计9月份就会更新了。

69510

CSRF 跨站请求伪造

如下:其中Web A存在CSRF漏洞的网站,Web B攻击者构建的恶意网站,User CWeb A网站的合法用户 CSRF攻击防范 目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer...字段;在请求地址添加 token 并验证;在 HTTP 头中自定义属性并验证 (1)验证 HTTP Referer 字段 ​ 根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer...(2)在请求地址添加 token 并验证 ​ CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie ,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的...Django 处理CSRF csrf是针对与post请求的才会做验证 几种处理方式 csrf_token 用于form表单,作用是跨站请求伪造保护。...注释掉中间件'django.middleware.csrf.CsrfViewMiddleware'【推荐】 Form表单 {%

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

网站功能——添加文章编辑页面,支持 markdown 编辑器实时预览编辑

编辑页面的 markdown 可以直接使用网站的工具里面的 markdonw 编辑器,然后在页面添加 js 定义按钮点击事情调用文章更新接口即可。...创建 ajax 调用函数 单独定义了一个 js 文章来做文章的更新,就是很简单的 ajax 请求,在的工具应用里面大量使用过,所以这种函数很普遍。...添加按钮和点击事件 现在前后端的接口和请求都做好了,只需要在页面添加按钮并设置按钮的事件就可以了,按钮直接使用 bootstrap 的按钮样式,然后在编辑页面添加事件的逻辑: ...总结 本篇文章主要分享了创建一个文章内容编辑页面的过程,主要使用到了 Django 的类视图、权限判断、POST 请求视图、ajax 请求、实例更新等 Django 相关知识点。...本文更新的相关代码提交可见 github 提交历史:添加文章编辑页面,支持markdown编辑器编辑预览模式

32010

Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器

目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET、POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Ajax...(这一特点给用户的感觉是在不知不觉完成请求和相应过程) 用 Ajax 做一个小案例 页面上有三个 input 框,在前两个 input 框输入数字,点击按钮发送 ajax 请求,在刷新页面的情况下...动手用 Ajax 实现效果 思路分析 我们是输入信息,然后点击 计算按钮,由 ajax 向后端发起请求,后端拿到请求然后返回数据给前端,前端把数据填到结果框 可以看出,我们的突破口是 计算按钮...,放在 id res 的 input 里 #} $.ajax({ {# 3.Jquery 的 ajax,需要下面几个参数,记得写上(Ajax 的括号内是一个大括号,然后再写的参数)...cancelButtonText 修改取消文本(自己加的) 给按钮添加自定义属性,绑定 user_id,弹窗确认删除那里写 ajax 获取到 user_id 发 ajax 过去 <!

6.1K31

Django 2.1.7 查询数据返回json格式

需求问题 在日常工作,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。...在模板返回视图的方式的确很方便,但是如果涉及到动静分离、ajax请求这类,django就只能返回json格式的数据了。...那么这里就带来了一个问题,如何将django从数据库模型类查询的数据以json格式放回前端。 然后前端如果获取读取返回过来的数据呢?...这样子返回前端的话,每条数据对象包含 fields,model,pk三个对象,分别代表字段、模型、主键,更想要一个只包含所有字段的字典对象。...后端修改每个model对象转化为dict字典对象 from django.core import serializers from django.http.response import JsonResponse

3K20

Python进阶34-Django 中间件

 上述截图中的中间件都是django的,我们也可以自己定义一个中间件,我们可以自己写一个类,但是必须继承MiddlewareMixin 我们来添加一个请求 from django.utils.deprecation...如下:其中Web A存在CSRF漏洞的网站,Web B攻击者构建的恶意网站,User CWeb A网站的合法用户  从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤: 1.登录受信任网站...2.在登出A的情况下,访问危险网站B。 看到这里,你也许会说:“如果不满足以上两个条件的一个,就不会受到CSRF的攻击”。...---- CSRF攻击防范 目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址添加 token 并验证;在 HTTP 头中自定义属性并验证 (1...)验证 HTTP Referer 字段 根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。

1.8K20

09.Django基础七之Ajax

标签,通过dom操作把它删除      ajax里面写$(this)时要注意的问题:还有一点注意,如果你添加某些dom对象的时候,如果你想在刷新页面的情况下来添加这个对象,那么你要注意,如果这个对象也需要绑定事件的话...又有疑问了,同一次登录,form表单的token每次都会变,而cookie的token不便,django把那个salt存储在哪里才能保证验证通过呢。直到看到源码。...同样也不难解释,为什么ajax请求时,需要从cookie拿取token添加到请求头中。...三个设置改变Django的上传处理行为: FILE_UPLOAD_MAX_MEMORY_SIZE:以bytes单位的到内存的最大大小,。比这个值大的文件将被先存到磁盘上。...当input标签失去焦点后获取 username表单字段的值,向服务端发送AJAX请求; django的视图函数处理该请求,获取username值,判断该用户在数据库是否被注册,如果被注册了就返回“

3.6K20

Python自动化开发学习20-Djan

运行之后,打开页面检查是否能在页面显示部门的数据。 获取数据的3种方式 目前我们都是通过 models.Dept.objects.all() 这个方法来获取到数据的。现在看看另外的两种方式。...添加数据要有一个添加按钮按钮需要绑定事件,这里要用到js。事件是弹出一个模态对话框。对话框里填入数值,但是部门要用下拉列表来做。...提交按钮也不要了,Ajax提交要的并且起一个新的id名。...例子还有个问题,就是还要提交一个uid,这个uid不在表单里。这里有两个方法。 一、uid写一个input标签,然后把标签隐藏了。...这种方法可以自定义这个表,我们可以根据需要再添加上别的字段。 自动创建关系表 结合表也是可以不用手动创建的,而是由Django自动帮我么创建。

2.6K10

Django教程(二)- Django视图与网址进阶1. HTML表单2.CSRF3.代码操作

在返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值一个自动生成的 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken...字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django 会验证这个请求的 cookie 里的 csrftoken 字段的值和提交的表单里的...在所有 ajax POST 请求里,添加一个 X-CSRFTOKEN header,其值 cookie 里的 csrftoken 的值 Django 里如何使用 CSRF 防护: 首先,最基本的原则是...RequestContext 会处理 csrf_token 这个 tag, 从而自动表单添加一个名为 csrfmiddlewaretoken 的 input 3.代码操作 需求:模拟登录功能,如果用户的名字是你的名字全拼且密码是...创建urls.py 在项目的urls.py,导入django.conf.urls.include模块,并且添加到urlpatterns列表 ?

4.3K40

Django CSRF认证的几种解决方案

由于每个用户的 token 不一样,B网站上的js代码无法猜出token内容,对比必然失败,所以可以起到防范作用。...Django使用CsrfViewMiddleware中间件进行CSRF校验,默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有携带csrf字段,导致校验失败,报403错误。...注释掉此段代码即可,但是推荐此方式,将导致我们的网站完全无法防止CSRF攻击。 2....所有请求添加csrf校验数据(推荐) 以上方式都有限制,适用范围比较窄,我们需要一种可以一劳永逸的方式:让所有请求都携带csrf数据。...因为我们是使用Django模板渲染前端页面的,所以一般会先定义一个base.html,其他页面通过{% extends "base.html" %}来引入使用,那么在base.html添加ajax的全局钩子

1.9K20

Django项目实战之用户头像上传与访问

在视图函数获取文件要用request.FILES.get()方法 通过obj.name可以获取文件的名字 2 将文件上传到数据库 models.py from django.db import models...upload_to=''的属性,指定上传后的文件放在哪里 往数据库添加的时候,文件字段属性赋值跟普通字段在形式上是一样的,如:models.User.objects.create(username=name...上传的时候,按钮的tpye一定不要用submit Ajax上传的时候data参数的值不再是一个普通‘字典’类型的值,而是一个FormData对像 创建对象formdata = new FormData...(); 往里面添加值formdata.append('username',$('#name-input').val()); Ajax在做post提交的时候要加上csrf验证 formdata.append...:false来指定ContentType form上传的时候,文件数据是通过标签来‘’包裹‘’数据, ajax上传的时候,是通过一个 FormData 实例对象来添加数据

2.3K70

【玩转腾讯云】django 开发Bug追踪平台之用户注册篇(基于腾讯云短信 & redis)

account.py 文件,代码如下 - 一: 对字段进行处理,例如手机号进行校验,密码 PasswordInput 形式等 - 二:给每个字段添加 form-control 样式,前端页面显示比较美观一点...form-control 属性,之后的代码其他字段都要用到,每次使用for 循环添加很显然有些赘余,我们可以将其封装在一个类,这样,需要添加样式的时候直接继承这个类就可以了。...// Django ModelForm 默认生成字段ID “id_ + 字段名” var mobilePhone = $('#id_mobile_phone').val...点击注册 4.1 前端: 获取数据 & 发送ajax请求 收集表单的数据(找到每一个字段) 数据通过ajax发送到后台【POST请求】 register.html 文件js 部分添加点击注册事件函数...,代码如下(前面代码部分同上,只是在js 添加了 bindClickSubmit 函数,并让其在页面框架加载完成后自动执行)ajax请求这里没有再写一个URL,而是复用了 /register/,只需要判断用户发的是哪种请求就可以

26.8K88

30.Django CSRF 中间件

如果POST请求没有token随机字符串,则返回403拒绝服务 在返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值一个自动生成的 token...在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken 字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django...在所有 ajax POST 请求里,添加一个 X-CSRFTOKEN header,其值 cookie 里的 csrftoken 的值  2.启用方式  settings里面全局启用 MIDDLEWARE...请求,所以我们需要对每个Ajax请求都添加headers请求头,这样未免增加很多工作量;这时就需要做全局设置,不必每个添加请求头 <!...的中间件(middleware),在django,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件相应的方法;在django项目的settings模块

1.1K50

Django 中使用 ajax 请求的正确姿势

django + jQuery ajax 的用法,但经过这次的工具更新,ajax 的用法又有了更深层次的理解,所以分享一下的使用经验。...思路整理 在 django 中使用 ajax 其实就是在前端代码(一般是 js )使用 ajax 调用 django 的接口,然后去更新指定的页面部分。...有了这个基本关系理解,我们再来把两者结合的过程分解到代码每次写在线工具的思路大致如下: 在 html 写好表单以及调用到 ajax 请求的动作,比如按钮点击 既然要引用 ajax 发请求,那么可以把...ajax 的请求过程以及请求前后要做的事件都写到函数,然后单独放到 js 文件 ajax 发请求的本质就是调用 django 的接口,所以 django 的 URL 需要提供接口 django...总结 django 结合 jQuery 的 AJAX 可以做到前后端数据传递,利用 ajax 的特性可以在更新当前 URL 的基础上面做到数据库传递,从而到达只更新部分 HTML 的效果。

1.8K10

Django数据库查询优化与AJAX

第二范式(2NF):属性完全依赖路主键(唯一性) 第二范式是在第一范式的基础上建立起来的,也就是第二范式要求数据库表每个实例或行必须可以被唯一的区分,也就是一张表至少有一个主键来区分每一条记录。...,特点:按步骤查询多张表,然后将查询结果封装到对象,给用户的感觉好像还是连表操作,括号内支持传多个外键字段,每放一个外键字段就会多走一条SQL语句,多查一张表。...(重要) AJAX简介 AJAX(Asynchronous Javascript And XML)“异步的Javascript和XML”,即使用Javascript语言与服务器进行异步交互,传输的数据...AJAX的应用场景 搜索引擎根据用户输入的关键字,自动提示检索关键字,网站注册时候的实时用户名的查重,特点: 刷新页面的前后端数据交互 异步操作,当请求发出后,浏览器还可以进行其他操作 AJAX前的知识储备...3.Django后端针对json格式的数据不会做任何的处理,只是将数据原封不动的放在了request.body,我们需要手动对其进行反序列化处理。

2.3K20

DjangoAjax文件上传

处理上传的文件 最后的难题是怎样处理从request.FILES获得的真实的文件。这个字典的每个输入都是一个UploadedFile对象——一个上传之后的文件的简单的包装。...改变上传处理行为 三个设置改变Django的上传处理行为: FILE_UPLOAD_MAX_MEMORY_SIZE:以bytes单位的到内存的最大大小,。比这个值大的文件将被先存到磁盘上。...上传完毕后,将调用View的_Upload()方法将临时文件夹的临时文件分块写到上传文件的存放路径下,每块的大小64K,写完后临时文件将被删除。...三个设置改变Django的上传处理行为: FILE_UPLOAD_MAX_MEMORY_SIZE:以bytes单位的到内存的最大大小,。比这个值大的文件将被先存到磁盘上。...大多数平台,临时文件有一个0600模式,从内存保存的文件将使用系统标准umask。 django上传文件详解

2.2K10
领券