Django
文章平均质量分 80
Be-make
这个作者很懒,什么都没留下…
展开
-
021 Django 内建用户系统
字段名字说明username用户名password密码email邮箱first_name名last_name姓is_superuser是否是管理员帐号(/admin)is_staff是否可以访问admin管理界面is_active是否是活跃用户,默认True。一般不删除用户,而是将用户的is_ active设为False。last_login上一次的登录时间date_joined用户创建的时间扩展字段有的时候我们觉原创 2022-06-29 21:24:44 · 176 阅读 · 0 评论 -
020 Django 让用户下载 csv 文件
Python 提供了内建库 - csv ,可以直接通过这个库来操作 csv 文件响应Content-Type类型需修改为text/csv。这告诉浏览器该文档是CSV文件,而不是HTML文件返回的时候修改 HttpResponse响应会获得一个额外的Content - Disposition标头,其中包含CSV文件的名称。它将被浏览器用于开启对话框...原创 2022-06-29 21:23:28 · 313 阅读 · 0 评论 -
019 分页
分页是指在web页面有大量数据需要显示,为了阅读方便在每个页页中只显示部分数据。优点:方便阅读减少数据提取量,减轻服务器压力。Django提供了 类可以方便的实现分页功能Paginator类位于模块中。我们使用 paginatror 可以创建一个分类对象参数:object_list 需要分类数据的对象列表per_page 每页数据个数返回值Paginator 的对象Paginator 属性属性名说明需要分页数据的对象总数分页后的页面总数从原创 2022-06-29 21:18:15 · 131 阅读 · 0 评论 -
018 django csrf攻击
CSRF - 跨站伪造请求攻击某些恶意网站上包含链接、表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站.上完成某些操作这就是跨站请求伪造(CSRF,即Cross-Site Request Forgey)。比如你后台如果登陆了支付宝或者网银,然后 CSRF 攻击会利用浏览器内的 COOKIES 直接在你不知情的情况下转账Django 使用在提交表单的信息里添加暗号来实现过滤除了本站之外的请求,以此来防范 csrf 攻击有一些情况我们希望我们可以临时关闭我们的 csrf原创 2022-06-29 21:17:39 · 164 阅读 · 0 评论 -
017 django 中间件
中间件类须继承自类中间件类须实现下列五个方法中的一个或多个: .在工程目录下 BASEDIR 目录(和 同级)创建一个文件夹名字叫 在 文件夹内新建一个 文件,内部什么都不用写在该目录下放你的中间件类在 settings.py 文件内注册 MIDDLEWARE如果有多个中间件,他们的执行顺序按照我们可以利用中间件来记录某个IP登陆的次数来限制某个IP频繁的访问...原创 2022-06-29 21:16:22 · 141 阅读 · 0 评论 -
016 Django 缓存
设置缓存 - 数据库缓存将所有的缓存都存储在您的数据库中把缓存存到内容把数据缓存到服务器的内存当中把缓存存到本地文件内整体缓存在视图函数内使用局部缓存缓存 API 的导入先引入 cache 对象方式1:使用方式2:导入CACHES配置选项中的项缓存的设置 SET给我们名为 key 的缓存设置一个值key: 缓存的key,字符串类型timeout:缓存的储存时间,默认为 CACHES 中的 TIMEOUT 值返回 None如果未获原创 2022-06-28 23:17:59 · 268 阅读 · 0 评论 -
015 Django 云笔记项目(可以略过)
一般情况下由产品经理负责创建一个 项目,然后初始化下列配置禁止csrf语言更改时区更改数据库配置创建/注册应用 user用户模型类设计创建我们的 User 模型类用户注册 第一版url : 视图函数: reg_view模板位置: 界面样式书写 内容写 url.py 路由文件查看我们的页面我们现在新增了 3 个需求我们可以使用 哈希算法,给明文然后计算出一段定长的不可逆的值(md5, sha-25原创 2022-06-28 23:16:58 · 601 阅读 · 0 评论 -
014 Django cookies 和 session
通过 绑定的字典获取客户端的 COOKIES 数据在 settings.py 中配置 session向 MIDDLEWARE 列表中添加以上这两个默认都是开启的session 对象是一个类似于字典的 SessionStore 类型的对象,可以用类似字典的方式进行操作session 可能存储字符串,整形,字典,列表等保存 session 的值到服务器获取 session 的值删除 sessionsession 的设置settings.py 中的相关配置项原创 2022-06-28 23:15:19 · 103 阅读 · 0 评论 -
013 Django 数据库关系映射
在关系型数据库中,通常不会把所有数据都放在同一张表中,不易于扩展,常见关系映射有:一对一映射一对多映射多对多映射一对一是表示现实事物间存在的一对一的对应关系。语法: on_delete 级联删除时要执行的操作 实例创建一个作者和他们老婆的表迁移数据库 和 [这里跳过]发现我们的外键名字发生了改变,并非是我们命名的 而是 无外键的情况(正常创建)有外键的情况下方案二:关联王老师对应的主键此处 author_id 直接等于一个值即可wife1 = Wife.objects.creat原创 2022-06-28 10:19:13 · 274 阅读 · 0 评论 -
012 Django admin 后台管理
若要自己定义的模型类也能在/admin后台管理界中显示和管理,需要将自己的类注册到后台管理界面注册步骤:在应用app中的admin.py中导入注册要管理的模型models类,如:调用 方法进行注册,如:内部文字的显示样式来自我们模型层的 方法模型管理器类我们可以看到我们现在的显示还是非常的粗糙,我们所有的图书只有一个大分类,我们希望他可以像内建的表一样支持多个标签在 里定义模型管理器类绑定注册模型类管理器和模型层给我们的标题栏设置需要显示的字段 常用方法:点击哪个列我们原创 2022-06-28 08:45:05 · 117 阅读 · 0 评论 -
011 Django 数据库增删改查
这个对象叫管理器对象数据库的增删改查可以通过模型的管理器实现DjangoORM使用-种直观的方式把数据库表中的数据表示成Python对象创建数据中每一条记录就是创建一个数据对象创建 MyModel 实例对象,并调用进行保存类似于类属性赋值的操作只有当调用最后的 的时候,我们的数据才会真正的插入在Django提供了一个交互式的操作项目叫Django Shell它能够在交互模式用项目工程的代码执行相应的操作利用Django Shell可以代替编写view的代码来进行直接操作注意:项目代码发生变化时,重新进入原创 2022-06-26 22:10:47 · 273 阅读 · 0 评论 -
010 Django ORM数据库框架
ubuntu 下需要安装 mysqlclient[1.3.13 以上]ubuntu 下需要确认是否安装 和 添加一个bookstore的app添加模型类并注册app在我们新建 bookstore 文件夹下面我们有一个 文件,这个文件就是我们模型存放的地方但是此时我们现在的数据库里面还是没有这些数据的,虽然我们已经创建了,这个时候我们还需要把这些数据迁移到我们的数据库里面迁移是 Django 同步您对模型所做出的更改(例如添加字段,删除模型等) 到您的数据库的方法此时我们再去查看数据库就会发现我们的数据原创 2022-06-26 22:03:38 · 262 阅读 · 0 评论 -
009 Django 应用和分布式路由
假如我们现在要做的是一个很大的网站,这些网站里面有很多的分区,这么多的分区我们全部都放在同一个里面就会显得代码非常难以维护,同时程序员之间也很难同时进行工程这个时候我们就需要使用 app 来为每一个版块分区,让他们分别拥有自己的路由,视图,模板和模型在 中的列表中配置安装了这个应用,告知 Django此时所有以 music 的路由都会被分布到 music 自己的 urls.py 路由进行处理应用下的模板在应用目录下我们创建 文件夹[外链图片转存失败,源站可能有防盗链机制,建议将图片保原创 2022-06-25 17:16:28 · 134 阅读 · 0 评论 -
008 Django 静态文件配置
配置静态文件的访问路径 【该配置项已经默认存在】配置静态文件的存储路径 保存的是静态文件在服务器端的存储位置,我们需要手动配置我们的 Django 给我们提供了使用模板方法来访问静态文件的方法使用之前记得先...原创 2022-06-25 17:00:20 · 87 阅读 · 0 评论 -
007 Django url 反向解析
url反向解析是指在视图或模板中,用path定义的名称来动态查找或计算出相应的路由模板中 - 通过 url 标签实现地址的反向解析例如视图中如何使用反向解析在视图函数中->可调用django中的reverse方法进行反向解析例子此时我们自动反向解析的值赋值给 url, 然后我们再使用302跳转到指定路由...原创 2022-06-24 23:24:16 · 83 阅读 · 0 评论 -
006 Django 模板层
我们通过 loader 获取模板,通过 HttpResponse 进行响应,在视图函数中例子在模板文件夹中添加我们需要的新页面 在路由文件内添加地址浏览地址打开我们可以使用 render()直接加载并且响应模板在视图文件中例子在模板文件夹中添加我们需要的新页面 在路由文件内添加地址浏览地址打开样例:在模板中我们则可以使用 这样的方法调用视图传递进来的变量使用模板例子设置视图层函数,在视图层定义指定字典然后通过函数传递出去新建 HTML原创 2022-06-24 23:23:43 · 185 阅读 · 0 评论 -
005 Django Get请求和Post请求
获取Get的值我们可以使用字典的方法来获取我们的值比如我们在后端想要接收到消息我们首先需要在前端进行定义,我们在学习的情况下使用表单来递交登陆请求取消csrf验证,否则 django 将会拒绝客户端发来的POST请求,然后报错 403我们如果没有关闭 django 自带的csrf的话,我们的请求就是无法提交过来的, 我们可以前往 中的中注释掉[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LcJkTfCf-1656083956333)(https://pic.imgdb.c原创 2022-06-24 23:21:28 · 449 阅读 · 0 评论 -
004 Django 响应
我们每一次新建路由的时候,都需要默认传递一个参数 request,这个request其实就像是字典一样,我们可以获取内部的值可以看到我们的请求路由以及请求模式都被打印出来了,但是我们的请求参数是一个空的 QueryDict 对象,我们可以向他内部添加值可以看到我们现在的 QueryDict 内部就有值了,虽然看起来像是一个字典,但是默认值的数据类型是一个列表HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:作用:向客原创 2022-06-24 23:19:50 · 68 阅读 · 0 评论 -
003 Django 路由
有的时候我们需要输出路径不变但是数量改变的页面,这个时候大量创建路由就显得很难语法: 作用: 若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数例子: 此时我们只需要在网站上面访问相应的数量就可以访问到对应的网站我们现在希望给我们的网页计算机添加一个限制条件,那就是我们只做两位数的加法,如果这个数字超过了两位我们就不会对他们进行运算这个时候我们使用 path() 就无法满足我们的需求,我们就需要使用 re_path()我们需要让网页能够识别我们的出生日期,而且正着能够识别,反原创 2022-06-24 23:18:36 · 81 阅读 · 0 评论 -
002 Django Settings文件参数说明
这个是获取到我们的项目的根目录只有在这里面的 IP 才可以访问,内部可以填写域名或者 具体IP同时你也可以使用类似 通配符来匹配所有的IP, 比如 在 DEBUG 情况下默认开启 和 你可以使用 来允许所有的内网端口访问默认的数据库是 LANGUAGE_CODE 语言配置 (默认:英语) 改为汉语TIME_ZONE 时间默认的时间是 UTC(世界标准时间) 的时间使用 可以将时间改为东八区的时间自定义配置在 中我们也可以自定义用户配置,比如中所有的配置项,都原创 2022-06-24 23:16:28 · 155 阅读 · 0 评论 -
001 django 启动关闭和基础文件说明
执行代码后在我们的当前目录下面就会生成我们的项目基础文件我们这种启动方式一般用在测试与开发阶段,这种版本称为开发模式,牺牲了性能,比如并发之类的,正式上线之后会有其他的方式来启动问题原因:解决方案:...原创 2022-06-24 23:14:34 · 877 阅读 · 0 评论