经过两个星期的研究,终于做出来了。之前看了很多博客都是创建数据库去增加参数,但不是我想要的。因此就没有使用数据库去增加参数。

背景介绍:因为公司java人员开发出来一个自己的swagger界面,因为领导就说python是不是应该也可以开发出swagger界面呢?因此就把此任务交给刚入职3个月的员工、

一、环境搭建:

软件版本自己也试了好多版,终于弄了一个适合公司的版本。本次python版本是2.7.12。下面可能是你需要安装的软件包。请按顺序安装即可。

pytz==2019.1
django==1.11.22

simplejson==3.16.0
djangorestframework == 3.9.4

MarkupSafe == 1.1.1
Jinja2==2.10.1

coreschema==0.0.4
itypes==1.1.0
uritemplate==3.0.0

setuptools_scm==3.3.2
setuptools==40.8.0
pytest_runner==5.0
certifi==2019.6.16
urllib3==1.25.2
chrdet==3.0.3
requests==2.22.0

coreapi==2.3.3
openapi-codec==1.3.1
django-rest-swagger == 2.2.0

二、创建一个公共的swagger_schema.py

 

三、在自己的django项目中的APP修改views

 

四、修改项目根目录下的setting

1、在  INSTALLED_APPS 中增加 

rest_framework_swagger 和 rest_framework


五、修改项目根目录下的url

 



做到这一步,使用runsever应该就可以出现swagger界面。但是公司使用的uwsgi启动项目的,因此还要继续往下走。
要使用uwsgi需要配置nginx的。

六、执行 python manage.py collectstatic 从setting中的INSTALLED_APPS 去收集static。
会出现一个目录collected_static。里面有三个文件:admin rest_framework rest_framework_swagger

七、在项目根目录下的setting下修改
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),

)
八、在uwsgi.ini文件下增加
static-map = /static=/home/appuser/jobapp/collected_static