![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django
文章平均质量分 73
Django学习
测开小菜鸟
誓做测开大佬!有任何问题可添加本人wx:632966840(添加请备注来源和意图)
展开
-
Django-Django项目结构介绍及git版本管理
Django项目结构介绍及git版本管理Django项目结构配置文件更改git版本管理开启git版本管理不需要进行版本管理的文件提交版本更改分支Django项目结构项目同名目录/ 保存django的项目配置信息 asgi.py 用于启动ASGI协议的启动入口文件,在异步项目部署时才用 settings.py 用于存放Django的全局配置信息 urls.py 用于创建全局路由信息 wsgi.py原创 2021-01-13 16:21:28 · 387 阅读 · 0 评论 -
Django-ORM框架-生成数据表
ORM框架生成数据表指定数据库配置信息创建模型类生成迁移脚本执行迁移脚本模型类中的属性说明生成数据表指定数据库配置信息数据库配置信息在setting.py文件中,DATABASES就是数据库配置信息。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': BASE_DIR / 'db.sqlite3', # 指定数据库名称 'USER原创 2021-01-19 14:53:38 · 294 阅读 · 0 评论 -
接口测试平台实战(二)-用户登录功能
用户模块创建子应用重写子应用的模型类什么是认证和授权?实现认证和授权新建超级用户创建子应用进入虚拟环境,新建一个名为‘users’的子应用,并在settings.py中注册。重写子应用的模型类Django为我们提供了用户模块,我们可以直接使用,但是如果有需要新增的字段,我们可以继承Django中提供的,并在此基础上新增修改。from django.contrib.auth.models import AbstractUserclass Users(AbstractUser): mob原创 2021-02-27 22:16:46 · 748 阅读 · 0 评论 -
Django-APIView
APIView前言一、接收不同类型的参数1.1 json参数获取1.2 x-www-form-urlencoded参数获取1.3 form-data参数获取1.4 query string参数获取1.5 总结二、返回Response三、过滤四、提取总结前言APIView解决了一些之前的问题,例如认证授权功能,限流功能,传递参数的形式单一等问题。一、接收不同类型的参数修改views.py中的代码。使视图类继承APIView(APIView是View的子类)。使用View视图我们接收到的reques原创 2021-02-04 15:06:38 · 2457 阅读 · 0 评论 -
Django-序列化器
序列化器一、序列化器1.1 实现序列化1.1.1 serializers参数1.2 实现入参的校验一、序列化器主要作用是进行一些数据校验和序列化操作。1.1 实现序列化在子应用中新建serializers.py文件。from rest_framework import serializers# 定义序列化类,需继承serializers.Serializerclass ProjectSerializer(serializers.Serializer): # 将需要校验和序列化的字段原创 2021-01-28 22:14:48 · 1028 阅读 · 0 评论 -
Django-自动生成API文档
自动生成API文档一、安装二、添加配置一、安装需要安装以下几个包(如果有虚拟环境需要进入虚拟环境安装)coreapi(必须)Pygments(可选)Markdown(可选)二、添加配置3.10版本以上的DRF,需要添加配置信息,在setting.py文件的REST_FRAMEWORK中,添加如下代码:REST_FRAMEWORK = { # 指定用于支持coreapi的Schema 'DEFAULT_SCHEMA_CLASS': 'rest_framework.sche原创 2021-02-22 20:48:11 · 2812 阅读 · 5 评论 -
HTTPRunner
HTTPRunnerHTTPRunnerHTTPRunner安装在cmd中输入命令pip install httprunner==2.3.0输入hrun -V打印出版本就是安装成功了。新建项目在想要新建项目的文件夹中打开cmd,输入hrun --startproject 项目名称即可在当前目录下创建项目。.HttpRunnser 2.x工程目录结构1.api目录a.主要存放接口的最小执行单元(正向用例)2.reports目录a.用于存放测试报告3.testcases目录a.用原创 2021-03-01 21:14:47 · 7690 阅读 · 6 评论 -
Django-类视图
类视图为同一接口支持不同的请求类型request支持不同的请求类型类视图前后端不分离前后端分离为同一接口支持不同的请求类型request我们知道当URL文件匹配到用户输入的路径后,会调用对应的view函数,并将request对象作为第一个参数传入该函数。request就是HttpRequest对象的实例,属性包含了关于此次请求的大多数重要信息。支持不同的请求类型既然request带有类型,我们就根据不同类型判断,执行对应的操作。修改子应用的views.py文件。def login(reques原创 2021-01-15 18:25:52 · 435 阅读 · 0 评论 -
Django-视图类代码优化
视图类代码优化一、 优化get、post等方法二、优化视图类继承关系三、优化为一个类视图四、优化路由一、 优化get、post等方法查看我们的代码,不难发现,我们实现的get、post、put等方法,不管对那个接口进行操作,代码都是一样的。那么我们就可以把这些方法抽取出来。class ListModelMixin: def list(self, request): queryset = self.filter_queryset(self.get_queryset())原创 2021-02-22 19:08:41 · 327 阅读 · 0 评论 -
Django-创建Django项目
创建Django项目新建项目创建虚拟环境选择虚拟环境解释器虚拟环境安装Django创建Django项目运行项目方式一:命令行启动方式二:工具栏启动新建项目打开pycharm,新建项目。先选择系统环境,创建项目。此处不要直接选择虚拟环境中自带的pipenv,可能会有问题。创建虚拟环境如果本机没有安装pipenv先安装。打开cmd输入命令pip install pipenv即可安装。如果安装的慢,可以使用国内的源来安装,命令为:pip install -i https://pypi.douban原创 2021-01-13 14:11:49 · 513 阅读 · 0 评论 -
Django-ORM框架-阶段练手小项目
Django阶段练手小项目需求代码实现痛点分析需求实现数据库的增删改查接口:接口类型url接口详情GET/projects/获取项目列表数据(json数组形式返回)POST/projects/创建一条项目数据(以json形式传递参数,同时需要将创建成功GET/projects/int:pk/获取一条项目详情数据(json对象形式返回)PUT/projects/int:pk/更新一条项目数据(以json形式传递参数,同时需要将更新成功之后的数据以原创 2021-01-28 15:53:48 · 197 阅读 · 0 评论 -
Django-ORM框架-增删改查操作
增删改查操作一、模型类中的属性说明1.1 model类示例:1.2 修改数据库表信息1.3 models的更多字段1.4 models的更多参数二、查看生成的sql语句三、新增数据3.1 方式一3.2 方式二四、更新数据4.1 方式一4.2 方式二五、查询数据5.1 读取多条数据5.2 读取一条数据5.2.1 方式一5.2.2 方式二一、模型类中的属性说明1.1 model类示例:class People(models.Model): name = models.CharField(verb原创 2021-01-21 22:08:13 · 719 阅读 · 0 评论 -
Django-创建子应用和路由
创建子应用和路由创建子应用定义创建方式一方式二意义子应用目录结构注册子应用路由新建路由路由匹配规则创建子应用定义将工程项目拆分为不同的子功能模块– 以子应用的形式存在各功能模块间可以保持相对的独立可以将该模块代码整体复制过去创建方式一使用命令行创建,python manage.py startapp 子应用名 路径。路径一般不加,默认创建到当前根目录下。方式二点击Tools,选择run manage.py Task。在下面输入‘startapp 子应用名’即可创建子应用。原创 2021-01-13 17:49:14 · 1237 阅读 · 4 评论 -
接口测试平台实战(一)-配置信息
配置信息一、配置访问地址二、配置日志一、配置访问地址在全局配置文件settings.py文件中指定访问地址# 指定可以使用那些地址访问当前系统ALLOWED_HOSTS = ["*"]二、配置日志在根目录创建一个名为logs的文件夹用来存放日志,在全局配置文件settings.py文件中配置日志LOGGING = { # 指定日志版本 'version': 1, # 指定是否禁用其他日志器 'disable_existing_loggers': False,原创 2021-02-27 16:56:18 · 226 阅读 · 0 评论 -
添加搜索路径
添加搜索路径当我们子应用太多时,我们可以创建一个apps的目录,将所有子应用拖进去。这时候,我们不想修改注册子应用的代码,可以添加apps为搜索路径。在全局配置文件settings.py中,BASE_DIR后面添加如下代码:import syssys.path.insert(0, os.path.join(BASE_DIR, 'apps'))此时虽然实现了添加apps为搜索路径,但是pycharm会在apps下的路径有错误提示。我们还需要在pycharm中指定apps为搜索路径。原创 2021-03-06 22:20:09 · 471 阅读 · 0 评论 -
Django-下载接口的实现
下载接口的实现需求实现方式一方式二需求我们的测试报告模块,需要提供一个下载测试报告的接口。实现方式一from django.http import StreamingHttpResponseclass ReportsViewSet(viewsets.GenericViewSet): ... @action(detail=True) def download(self, request, *args, **kwargs): # 1、从数据库中获取报告htm原创 2021-03-12 21:55:04 · 647 阅读 · 0 评论 -
会话方式-Session、Token和JWT
Session和TokenSessionTokenSession保持在服务器,增加服务器的开销分布式架构中,难以维持session回话同步CSRF攻击风险Token保存在客户端跨语言、跨平台拓展性强鉴权性能高原创 2021-02-27 22:16:06 · 200 阅读 · 0 评论 -
Django-ModelSerializer序列化器
ModelSerializer序列化器一、自动生成序列化器类1.1 自动生成序列化器类二、修改自动生成的字段信息2.1.1 方式一2.1.2 方式二一、自动生成序列化器类前面说的那种序列化器,整个序列化器类都要自己写,代码和model类高度相似,于是就有了ModelSerializer序列化器,可以自动生成序列化器类。1.1 自动生成序列化器类# 自动生成需继承serializers.ModelSerializerclass ProjectModelSerializer(serializers.原创 2021-02-03 21:13:01 · 421 阅读 · 1 评论 -
Django-GenericAPIView
GenericAPIView前言一、queryset和serializer_class属性二、get_object方法前言GenericAPIView视图是继承自APIView视图的,支持APIView视图的所有功能,还支持过滤、分页、排序等功能。一、queryset和serializer_class属性GenericAPIView提供了两个类属性,queryset(指定查询集)和serializer_class(指定序列化器类)。# 需继承GenericAPIView#class Proje原创 2021-02-04 15:48:04 · 900 阅读 · 0 评论 -
Django-Django REST framework框架简介及安装配置
Django REST framework框架简介及安装配置一、简介二、特性三、安装扩展序列化和反序列化一、简介在Django框架基础上,进行二次开发用于构建Restful API简称为DRF框架或REST framework框架二、特性提供了强大的Serializer序列化器,可以高效地进行序列化和反序列化操作提供了极为丰富的类视图、Mixin扩展类、ViewSet视图集提供了直观的Web API界面多种身份认证和权限认证强大的排序、过滤、分页、搜索、限流等功能可扩展性,插件原创 2021-01-28 17:44:17 · 461 阅读 · 0 评论 -
启动前端项目
启动前端项目启动前端项目:开启跨域启动前端项目:1、安装nodejs安装《软件安装包》目录下的 node-v12.18.2-x64.msi打开命令行,输入node -v和npm -v,能正确显示版本号就是安装成功了。2、安装淘宝cnpmnpm都是国外的源,下载速度比较慢,我们安装cnpm速度会快一点。https://developer.aliyun.com/mirror/NPM打开命令行,输入npm install -g cnpm --registry=https://registry.原创 2021-03-01 22:23:52 · 9341 阅读 · 1 评论