chevron_left

Django 开发教程

免费
第 11.9 回

教程文档

Django 开发教程 - Ajax 请求中 CSRF 的处理

2023年11月23日
Django 开发教程

Ajax 请求中 CSRF 的处理

这里使用的是 jinja2 模板,碰到需要发送 ajax 请求的情况,如果不做处理,network 中会直接提示 csrf 错误。解决方法如下

修改布局模板

head 标签中加上

<head>
    <meta name="csrf-token" content="{{ csrf_token }}">
</head>

设置 jQuery 的 ajax

新建一个/static/js/common.js 文件

$(function () {
    // ajax请求,添加csrf
    $.ajaxSetup({
        data: {
            'csrfmiddlewaretoken': $('meta[name="csrf-token"]').attr('content')
        }
    });
})

js 的引用顺序

...
<script src="/static/js/jquery.min.js"></script>
<sc...

课程介绍

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。2019 年 12 月 2 日,Django 3. 0 发布。

Django 是高水准的 Python 编程语言驱动的一个开源模型.视图,控制器风格的 Web 应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是 OpenStack 的 Horizon 组件采用这种架构进行设计的主要原因。另外,在 Django 框架中,还包含许多功能强大的第三方插件,使得 Django 具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

  • 用于创建模型的对象关系映射;
  • 为最终用户设计较好的管理界面;
  • URL 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

目录

适合这样的人

新手