![](https://img-blog.csdnimg.cn/ec2494d4b08347e8b066f6674800e137.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Django/Flask
文章平均质量分 75
Python-Django/Flask框架学习
世界尽头与你
一个懂安全的开发者
展开
-
一文学会Django中间件
1、自定义中间件最直接的方法是继承自,并选择实现适合的钩子函数通常会将中间件定义在文件中:print("要想过此路,留下买路钱!")# 加入此行,post是应用名要想过此路,留下买路钱!原创 2022-10-13 21:29:01 · 332 阅读 · 0 评论 -
Django自定义错误页面
创建4个文件,分别命名为:404.html、400.html、403.html和500.html。可以知道,这些模板文件分别对应handler的4类错误码# 404# 500# 与前三个视图定义不同,500错误:server_error只有两个参数。原创 2022-10-13 18:26:39 · 902 阅读 · 0 评论 -
Django使用装饰器限制对视图的访问
这样,访问Topic详情视图时,不仅需要当前用户是已登录用户,还需要其同时拥有can_view_topic和add_topic两个权限。除了可以在视图处理中校验用户身份以及验证用户权限之外,Django还提供了便捷的装饰器来完成这两类校验。装饰器用来验证用户是否登录,只有登录的用户才可以访问视图,并获得响应,否则可以重定向到登录页引导用户登录。装饰器用来校验用户是否具有特定的权限,只有校验通过的用户才可以访问视图。由于Python支持给函数配置多个装饰器,所以,校验登录和校验权限的装饰器可以同时使用。原创 2022-10-13 17:17:47 · 852 阅读 · 0 评论 -
Django用户认证系统
权限应用到业务系统中时,首先是给用户授予权限,之后校验用户是否拥有某项权限而决定是否能够执行某项操作。方法,前者判断当前用户是否有某一项权限,后者判断用户是否同时拥有多个权限。如果认证成功,将会返回user对象,否则返回None。2、对于User对象实例,可以使用。用户权限校验可以使用User实例的。方法用于对用户身份进行认证。原创 2022-10-13 16:50:40 · 662 阅读 · 1 评论 -
Django动态路由的基本实现方案
【代码】Django动态路由的基本实现方案。原创 2022-10-12 19:32:27 · 258 阅读 · 0 评论 -
一文带你学会Django视图
这个属性只有在上传文件的时候才会用到,它也是一个类字典对象,包含所有的上传文件数据。method是一个字符串类型的值,标识请求所使用的HTTP方法,例如GET、POST、PUT等。它是一个Python字典(dict)对象,键和值都是字符串,包含了一次请求的Cookie信息。有时候,可能需要明确只能接受特定的请求方法,Django也对此提供了支持,利用。与GET属性类似,POST属性中保存的是POST请求中提交的表单数据。中的name值,FILES中的每个值是一个UploadedFile。原创 2022-10-12 15:55:49 · 182 阅读 · 0 评论 -
揭开Django管理后台的神秘面纱,实现Model层的注册
假设一个post应用定义了Topic和Comment两个Model,将它们注册到管理后台是非常简单的。manage的startapp命令在创建post应用的时候会自动创建。原创 2022-10-12 15:07:38 · 461 阅读 · 0 评论 -
Django ORM 聚合查询和分组查询
首先得到id为1的Topic的Comment对象,之后,计算up值的加和。可以看到,字典结果的键名称是。第二类统计是对QuerySet中的每一个Model对象都生成一个统计值,这可以通过。中指定的字段对Model对象进行分组,再对每个分组计算统计值,可以参照上述查询。统计每一个Topic对应的Comment的数量,利用。是类似的,都需要传递聚合函数,来描述统计过程。方法,提供的参数可以是一个或多个聚合函数。Django提供了一系列的聚合函数,其中。的前面,Django会按照。原创 2022-10-12 11:28:52 · 1596 阅读 · 0 评论 -
Django ORM F对象和Q对象查询
Django提供了两个非常有用的工具:F对象和Q对象,方便了在一些特殊场景下的查询过程。原创 2022-10-12 11:01:45 · 556 阅读 · 0 评论 -
Django ORM Model的基本查询操作API
其中第一个元素是实例对象,第二个元素是布尔值,标识返回的实例对象是否是新创建的。由于Topic需要一个User对象,所以,先获取username是admin(超级用户)的User对象,再去创建Topic对象。它的管理器代表的是一个单一的对象,而不是对象集合,且名称变成了小写的Model名。在查询Topic的时候可能会考虑User的情况,这是很普遍的场景,也被称作跨关联查询。这样的方法返回的结果是QuerySet,所以,在它们的后面可以继续调用。关系类型也可以实现类似的反向查询,但是对于。原创 2022-10-11 23:47:03 · 593 阅读 · 0 评论 -
Django ORM详细使用方法
一个布尔类型的变量,如果设置为True,则标识当前的Model是抽象基类,这个元选项不具有传递性,只对当前声明的类有效。由于每一个数据表对应一个Model定义,每一个Model都是一个Python类,所以,Model之间是可以继承的。设置了choices的字段在管理后台的显示上会由文本框变成选择框,选择框中的可选值就是choices中的元组。Meta类用于定义Model的元数据,即不属于Model的字段,但是可以用来标识它的一些属性。的子类,Django会根据Field的类型确定数据库表的字段类型。原创 2022-10-11 18:20:11 · 721 阅读 · 0 评论 -
Django模板的使用方法
一个布尔值,为True时,模板引擎会在已安装应用的templates子目录中查找模板。一个目录列表,指定模板文件的存放路径。模板引擎将按照列表中定义的顺序查找模板文件。csrf_token 用于form表单中,作用是跨站请求伪造保护。标签,在用 form 表单时,要再次跳转页面会报403权限错误。标签,在 form 表单提交数据时,才会成功。标签允许在模板中包含其它的模板的内容。模板过滤器可以在变量被显示前修改它。模板标签,用于后端向前端传递数据。从句:在循环为空的时候执行。索引下标取出对应的元素。原创 2022-03-18 19:56:43 · 1865 阅读 · 0 评论 -
Django项目框架搭建,快速入门Django
命令,Django会重新生成一个新的数据库迁移文件,记录表结构之间的差异,命令规则是对上一个迁移文件的序列号加1,如0002_xxxx、0003_xxxx。freeze会列出当前的虚拟环境中安装的依赖包及其版本号,它的输出格式与requirements.txt文件内容格式完全一样,所以,可以将其输出进行重定向,得到依赖清单。标识对于时区的处理,如果设置为True,不论TIME_ZONE设置的是什么,存储到数据库中的时间都是UTC时间。这个变量标记的是当前项目的根URL配置,是Django路由系统的入口点。原创 2022-10-11 12:15:46 · 3797 阅读 · 0 评论 -
使用宝塔面板快速部署Django项目
这里面只有Nginx是必须要安装的,如果你使用的是Mysql数据库,那么Mysql也勾选上,其它的你可以根据自己的需求来决定是否安装。国内的云服务器是把所有的端口给屏蔽了的,如果想使用的话需要自己在服务器提供商后台里的安全组里开放端口。值得说的就是端口,端口要和uwsgi.ini里面的那个端口一致。如果有多个项目的话,不同的项目要填写不同的端口。到python项目的根目录下,上传Django项目源码的压缩包文件,解压到文件目录中。,8888端口主要是用于访问宝塔的默认端口,为了安全性,可以在面板里面修改。原创 2022-03-18 18:00:18 · 5331 阅读 · 7 评论 -
AttributeError: module ‘time‘ has no attribute ‘clock‘的解决方法
方法已经被弃用,并且在 Python 3.8 中已经被移除。可以根据你的需求选择其中一个替代方法来代替。在 Python 3 中,原创 2022-03-09 14:31:23 · 7557 阅读 · 0 评论 -
Flask表单详解
尽管 Flask 的请求对象提供的信息足够用于处理 Web 表单,但有些任务很单调,而且要重复操作。比如,生成表单的 HTML 代码和验证提交的表单数据Flask-WTF()扩展可以把处理 Web 表单的过程变成一种愉悦的体验。这个扩展对独立的 WTForms()包进行了包装,方便集成到 Flask 程序中。原创 2024-04-30 17:47:56 · 1023 阅读 · 0 评论 -
Flask模版详解
模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道。使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染。为了渲染模板,Flask 使用了一个名为 Jinja2 的强大模板引擎形式最简单的 Jinja2 模板就是一个包含响应文本的文件,例如:原创 2024-04-30 15:07:16 · 1376 阅读 · 0 评论 -
Flask简介
Flask算是小型框架,小到可以称为“微框架”。Flask 非常小,因此你一旦能够熟练使用它,很可能就能读懂它所有的源码。但是,小并不意味着它比其他框架的功能少。Flask 自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强健核心,其他功能则可通过扩展实现。你可以自己挑选所需的扩展包,组成一个没有附加功能的精益组合,从而完全精确满足自身需求。原创 2024-04-30 12:12:22 · 1524 阅读 · 0 评论