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

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

大多数经常被用到的输入类型如下: 文本域(Text Fields) 文本域通过 标签来设定,当用户要在表单中键入字母、数字等内容时,就会用到文本域。...在返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值为一个自动生成的 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken...csrfmiddlewaretoken 字段的值是否一样。...在所有 ajax POST 请求里,添加一个 X-CSRFTOKEN header,其值为 cookie 里的 csrftoken 的值 Django 里如何使用 CSRF 防护: 首先,最基本的原则是...RequestContext 会处理 csrf_token 这个 tag, 从而自动为表单添加一个名为 csrfmiddlewaretoken 的 input 3.代码操作 需求:模拟登录功能,如果用户的名字是你的名字全拼且密码是

4.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    list、dict和set的综合应用:排课系统(2)

    概述 因为 Django 是一个 Web 框架,数据的存储主要位于服务器,要想增加数据我们必须定义一个客户端,使用客户端来增加各种数据,在这里我不去直接操作数据库,而是访问管理员的后台页面进行增加数据,...毕竟要用到 Django 的信号机制。...登录 首先来看一下登录部分的实现,首先我们必须启动 Django 项目,然后我们打开浏览器地址栏输入 http://127.0.0.1:8000/admin,会跳到登录页面,按 F12 打开浏览器开发者工具...果然有一个,接下来我们就是进行登录并查看 POST 数据的 csrfmiddlewaretoken 和这里的 csrfmiddlewaretoken 是不是一样的,如图所示。 ?...个班级;250 个学生,一个班级至少有 20 个学生,至多有 30 个学生,平均一个班级 25 个学生;20 个教师;10 门课程,每门课程一周 1~3 节,属于 1~3 个班级的课程,有 2~6 个授课教师

    71120

    谈谈Django的CSRF插件的漏洞

    今年十月份我的第二本书《基于Django的电子商务网站设计》出版了,在这本书中我不仅介绍了如何利用Django框架搭建电子商务网站,也论述了如何利用python的requests类对所创建的电子商务产品进行接口测试...在书写极乐口测试代码过程中,我遇到的最大的困难就是如何通过测试程序绕过Django的防止CSRF攻击的插件,通过近一个多月的努力我终于解决了这个问题,但是同时也揭露了Django框架的防止CSRF攻击的插件的漏洞...2、Django的CSRF插件是如何解决CSRF攻击的 下面让我们来看一下Django的CSR插件是如何解决CSRF攻击的。...Django利用了一个名为django.middleware.csrf.CsrfViewMiddleware的中间件(可以在Django的settings.py中设置)利用CSRF令牌的方式来控制。...仍旧为csrf_token值。

    1.2K10

    在Django中实现使用userid和密码的自定义用户认证

    在本教程中,我们将详细介绍如何在Django中实现自定义用户认证,使用包含userid字段的CustomUser模型以及标准的密码认证。本教程假设您已经对Django有基本的了解并且已经设置好了项目。...概述设置和配置定义包含userid字段的CustomUser模型。创建自定义认证后端,用于使用userid认证用户。配置Django设置以使用自定义认证后端。...JsonResponse({'success': True}) else: return JsonResponse({'success': False, 'error': '无效的凭据...通过以下步骤,您完成了:定义包含额外字段的自定义用户模型。创建自定义认证后端以使用userid进行用户认证。配置Django设置以使用自定义认证后端。...这种设置允许您根据特定项目需求定制Django中的认证过程,增强用户登录功能的安全性和易用性。我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    32820

    09.Django基础七之Ajax

    ) #不影响页面发送其他的请求 i1 = int(request.GET.get("i1")) i2 = int(request.GET.get("i2")) ret = i1...在这里补充个事情:     settings配置文件里面加上下面这句话,意思是说,告诉django,如果别人请求我的路径的时候,你不要自己处理别人输入的路径最后面的/了,如果这个值为True,而我们假如写了一个...验证码:用户提交的每一个表单中使用一个随机验证码,让用户在文本框中填写图片上的随机字符串,并且在提交表单后对其进行检测。...改变上传处理行为 三个设置改变Django的上传处理行为: FILE_UPLOAD_MAX_MEMORY_SIZE:以bytes为单位的到内存中的最大大小,。比这个值大的文件将被先存到磁盘上。...三个设置改变Django的上传处理行为: FILE_UPLOAD_MAX_MEMORY_SIZE:以bytes为单位的到内存中的最大大小,。比这个值大的文件将被先存到磁盘上。

    3.6K20

    小白学Django第十天| 模板的知识全部给你总结好了!

    本文内容大纲 本文将详细讲解Django里的模板知识。讲解目录如上。 模板语言 1.变量 作为一个Web框架,Django需要一种动态生成HTML的便捷方法。最常用的方法依赖于模板。...,大家应该需要了解一下,对于我们进行代码解释有着很大的帮助: 1)单行注释语法如下: {#...#} 注释可以包含任何模版代码,有效的或者无效的都可以。...我们加入csrf_token的标签后,会发现form表单中出现了一个name为csrfmiddlewaretoken的值,下图: ? 然后此时,我们再去看下cookie ?...我们会发现这两个值一模一样,所以它的原理就是来比对你提交时候表单里csrfmiddlewaretoken的值是不是一致的,如果是一致的,那么就放行;如果不一致,就返回403警告。...'jiafa' 2 3%}">jiafa 例如上面是需要传递两个int整型参数的url,那我们就将参数写在后面即可,记得参数之间有空格。

    1.2K31

    Django---Ajax

    它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。...客户端得到服务器返回的结果后,确定是否在用户名文本框后显示“用户名已被注册”的错误信息!...; django 的视图函数:获取username参数,判断是否为“yuan”,如果是响应true,否则响应false 参考代码: ...该函数主要根据用于提交的有效表单控件的name和value,将它们拼接为一个可直接用于表单提交的文本字符串,该字符串已经过标准的URL编码处理(字符集编码为UTF-8)。...1 jQueryObject.serialize( ) 返回值 serialize()函数的返回值为String类型,返回将表单元素编码后的可用于表单提交的文本字符串。

    4.8K101

    基于Django的电子商务网站开发(连载37)

    4.2.3 Django是如何防范CSRF攻击的 在第2.3.2节就介绍过Django是如何防范CSRF攻击机制的,而且Django默认是启动CSRF攻击机制的,在本书前几个章介绍的重点不在这里,所以把...也就是说{%csrf_token%}被一个名为csrfmiddlewaretoken的hidden类型给取代了。...其值为XltpK31i171tGLIH2leLWio0xM5TY8NC56oaU58CiIc5xLfqSiiehfJDSEnZesrX一个一百位的字符串,然后查看Fiddle 4,会看见页面产生了一个名为...csrftoken的cookie,其值也为XltpK31i171tGLIH2leLWio0xM5TY8NC56oaU58CiIc5xLfqSiiehfJDSEnZesrX,如图4-1所示。...后来作者查询了一些资料,发现不仅仅是Django是用这种方式处理CSRF注入的,其他大部分系统都是使用这种方法处理CSRF注入的。

    50810

    ​Python Django 文件上传

    type="file",并且设置格式为JPEG ,accept="image/jpeg" 注意 需要在form 表单中增加属性 enctype="multipart/form-data"使用二进制传输文件...console.error('Error:', error); alert('请求失败'); return false; }); return false; Django...视图函数 大致流程,获取到文件,使用二进制读取并保存文件,为保证图片的一致性,我们一般要使用随机数字作为图片名称 图片名称随机代码, def imagename(): # 生成 12 位随机数...for chunk in robotsphoto: fp.write(chunk) return JsonResponse({'data': 'upload success'}) 总结: Django...项目的文件上传相对来说比较简单,官方提供了比较详细的文档,有空可以去瞅瞅 如需要批量进行上传,大致原理差不多,可以循环遍历文件,将每一个文件进行相同的操作即可, 在进行上传和保存时,请确定上传的格式和保存的格式一致

    12210
    领券