简介:许多朋友问有关Django为什么不整合DRF的问题。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
使用Swagger
Swagger是用于Restful接口的在线自动生成+功能测试功能软件。
可以说在Web API中使用Swagger非常简单,无需编写任何代码,这完全取决于插件。特定的步骤如下:
1.创建一个新的Web API项目
2.与Nuget一起添加Swashbuckle包装
3.完成
没错,这就是简单的!运行项目,转到地址,您将看到以下页面。这是默认值添加的两个apicontroller:
目前,没有具体的描述信息。例如,我们将注释描述添加到valuescontroller.get上,这些描述仍未在页面上显示。您需要按照以下步骤:
)
2.将方法代码添加到SwaggerConfig:
1
2
3
4
受保护的静态字符串getXmlCommentsPath(字符串名称)
{{{
return string.format(@“ {0} bin {1} .xml”,applicoain.currentDomain.basedirectory,name);
}
3.修改项目生成,您可以在bin下的相应XML文件下查看特定描述文档,如下:
重新生成项目,您可以看到完整的接口描述。例如,我们心中的testController如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
二十四
25
26
27
28
29
/// 概括
///测试控制器
////概括
公共类测试核心:apicontroller
{{{
/// 概括
///测试GET方法
////概括
///备注测试获取方法/备注
///返回/返回
[httpget]
公共字符串get()
{{{
返回“获取”;
}
/// 概括
///测试帖子方法
////概括
/// param name =“名称”名称/param
///参数名称=“年龄”年龄/param
///备注测试帖子方法/备注
///返回/返回
[httppost]
公共字符串帖子(字符串名称,int age)
{{{
返回名称 + age.tostring();
}
}
生成的页面如下。您可以看到界面的描述。单击尝试打电话:
第三,非依赖性代码
上面的方法取决于Swashbuckle软件包,该软件包已经包含Swagger-UI组件。您的代码需要引入此软件包。实际上,它不能在项目中引入。Swagger-UI(API Display)和Swagger-编辑器(在线编辑器)可以分开部署。根据Nodej。部署实际上非常简单,例如,这是我部署的结果:
Swagger-编辑:
Swagger-UI:
编辑器之后,您只需要将文件保存为JSON文件,然后将其复制到指定的目录。此部署也非常简单,您可以参考:
1. django_redis
1. Django-Redis基于BSD许可证。这是一个功能齐全的组件,使Django能够支持REDIS缓存/会话。
2. Django-Redis自己的优势:
●连续更新
●局部redis-py URL符号连接字符串
●扩展客户
●可扩展的解析器
●可扩展的序列化器
●默认客户所有者/支持
●完美测试
●在某些项目的生产环境中,将其用作缓存和会话
●没有时间安装时间
●本地输入REDIS客户/连接池支持
●高配置(例如,模拟缓存的异常行为)
●默认支持UNIX插座
●支持Python 2.7、3.4、3.5和3.6
3.推荐版本
第四,django_redis基本使用操作:
5. Django项目中的配置格式
6.定制的Redis工具类
七个,自定义redis密钥协议
8.查看通话缓存
后端使用的DRF是UWSGI+NGINX
输入服务器项目文件目录,我的django项目放置在“/usr/myprojects/” directory.create uwsgi.ini文件中的uwsgi.ini文件中。
测试效果命令:
如果您访问:xxx.xxx.xxx.xx:8000成功,那么uwsgi.ini配置成功
我的nginx.conf位置是“ /etc/nginx/nginx.conf”
配置文件如下:
1.第一行
主要是给予NGINX加权。部署历史记录路线后,将删除地址背后的“#”号码。包装部署后,将会有一个错误。
2.如果显示配置,则有两个服务器部署了前端服务和后端服务。值得注意的是,两台服务器使用同一服务器,这与侦听不同。
3. VUE部署需要注意反向代理地址:
和随后的端口问题
4.后端服务器需要注意该位置的UWSGI_Pass后面的最终口号。
5.交叉 - 域问题。如果我需要在自己的在线上找到配置,我没有遇到它,因为我在Django的设置中配置了交叉域。
6. Django Suit背景管理样式已经崩溃,需要更改,但是可以正常访问API。
7.我开始在后台收听端口8008,并在前端监视端口80中听,以便前端显示出良好的外观。尽管可以正常访问背景API,但VUE的本地开发环境也可以正常运行,并且文本和图片资源都正常显示。结果,它无法显示。对于地图,我选择了前面- 末端监视器以收听端口8008,后端监视80,并且显示后显示正常。原因尚不清楚////////// erly谈论它。
8.不要问我为什么我将前端和后端分开并在服务器上部署?糟糕,只是测试,这不是必需的
9.本文仅适合入门
关于Django的后台管理员(西装)修改(参考:Django中文网站:)
在环境中输入项目目录,您需要收集CSS样式并在终端中输入命令:
接下来,您可以找到静态文件包含CSS文件。此时,该网站已打开,样式显示正常
UWSGI启动xxx.ini后,将在同一目录中生成xxx.pid文件。UWSGI主要过程的过程数中只有一行内容。
关于UWSGI,输入同一目录
课
如果您无法获得环境,请指定环境
另外:请记住重新启动UWSGI并重新启动NGINX。
暴力删除:Fuser -K 80/TCP
Netstat -aptn命令行,检查所有开放端口号码
netstat -tlp |GREP 80查看是否使用了特定端口
PS -EF |grep uwsgi查看是否存在UWSGI端口
结论:以上是首席CTO的全部内容,指出了为什么Django不与DRF集成。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。