Django REST Framework

Django-rest-framework(七)swagger使用

戏子无情 提交于 2020-03-24 07:18:43
3 月,跳不动了?>>> 在我们接口开发完之后,需要交付给别人对接,在没有使用swagger的时候,我们需要单独编写一份api接口文档,由postman之类的工具进行请求得到返回的结果。而有了swagger之后,可以通过提取接口代码中的注释来生成文档,并且可以直接在浏览器中调用,获取返回结果。先看下效果 安装 pip install django-rest-swagger setting.py 文件中添加 INSTALLED_APPS = [ ... 'rest_framework_swagger', ... ] 配置 在settings.py中可以添加修改swagger相关的配置 SWAGGER_SETTINGS = { # 这里可以用获取到的token来登录 'SECURITY_DEFINITIONS': { 'api_key':{ 'type': 'apiKey', 'in':'query', # token位置在url中 'name':'token' # 验权的字段 } }, 'USE_SESSION_AUTH': False, 'JSON_EDITOR': False, # False,用户可以自己编辑格式,不用按照serializers中的数据添加。True,会有多个输入框,输入serializer对应的字段的值 } urls.py 中添加一下代码 from rest

Vue + Django 前后端分离 -- Django 项目初始化

為{幸葍}努か 提交于 2019-12-28 14:43:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 章节介绍 本文介绍 Django 项目的初始化 后续章节将讲解 jwt功能 开发环境 Pycharm Pro、Python 3 新建项目 安装所需组件 venv/bin/pip install djangorestframework-jwt djangorestframework mysqlclient Mysql 数据库设置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djangOauth', 'USER': 'root', 'PASSWORD': '19900501', 'HOST': '127.0.0.1', 'port': '3306', } } 附言 1. 先不要进行数据库同步 2. 后续将讲解数据库初始化 和 jwt 部署 来源: oschina 链接: https://my.oschina.net/u/1995940/blog/3148966

vue + django 前后端分离 -- 写在前面

房东的猫 提交于 2019-12-28 12:09:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 个人介绍 10年工作经验、30年吹牛经验的弱电攻城狮。深受喜爱的 妇女之友。 [https://github.com/X-Mars](https://github.com/X-Mars) 写作背景 近几年越来越多的朋友开始使用Django,尤其是运维攻城狮,试图使用Django开发自己的运维平台,提高自己的工作效率。 作为技术团队中的弱势群体(经常被开发坑),公司不可能为运维攻城狮配备专职前端,而vue和element ui 的出现,大大降低了前端开发的门槛,让运维攻城狮 有机会实现全栈开发! 开发环境 pycharm、python3.7、macOS 文章章节 1. 前端环境 [https://github.com/PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 的搭建 2. Django 项目的初始化 3. Django REST framework + jwt 登录环境的开发 4. [https://github.com/PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 实现用户的登录 5.

Serializer和ModelSerializer的使用

自作多情 提交于 2019-12-26 11:38:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Django REST Framework API返回结果解析 学习了之前的文章我们知道如何使用Django REST framework框架设计API,我还使用Schools APP设计了一个API 除此之外,我们还可以查看API的OPTIONS,然后可以得很多信息,比如说第一行请求行'HTTP 200 OK',表示请求成功,第二行Allow表示允许的请求方式,Content-Type:application/json表示发送端发送的实体数据的数据类型。 还有下面的json数据,name表示接口名字、description详细描述、renders表示可解析的形式,parses是服务器端可解析的三种方式 我们还可以在app的views.py的类中可以给API添加注释,如比给前端人员的接口说明等信息,且注释可以在Django REST Framework的页面中显示; class AllSchoolsView(APIView): """ 这是AllSchoolsView的返回结果 """ def get(self, request): schools = School.objects.all() schools_serializer = SchoolSerializer(schools, many=True)

Django REST Framework 获得外键的值

早过忘川 提交于 2019-11-30 22:55:20
问题:外键序列化,只显示 id 而不是内容 有两个 models,一个 model 是大学 University,包含字段 name。另一个是学生 Student。Student 中存在外键 university 指向 University 这个 model。如果序列化 Student 这个 model 的时候,在 Meta 类里面的 field 直接写 university ,得到的结果就是 University 中的 id,而不是对应的名字 name。 因此这里采用两种方法去获取外键中的字段值,也就是拿到 University 中的 name。 问题代码如下: core/models.py from django.db import models class University(models.Model): name = models.CharField(max_length=50) class Meta: verbose_name = "University" verbose_name_plural = verbose_name def __str__(self): return self.name class Student(models.Model): first_name = models.CharField(max_length=50) last_name =