Web Services Django REST浏览器界面

gmol1639  于 2022-11-15  发布在  Go
关注(0)|答案(3)|浏览(383)

我正在为一个Django项目编写一组REST服务。我已经使用django-rest-framework有一段时间了。由于它的功能有限,我不得不切换到我非常喜欢的django-piston。
然而,django-rest-framework有一个非常好的特性--它能够显示一个类似管理员的界面,用于测试从浏览器创建的服务。它非常适合调试目的。它非常简单:为每个HTTP方法(如“GET”、“POST”等)显示一个表单。与之沿着的是可用内容类型的下拉列表和用于放入要发送的数据的文本字段。
在我看来,这并不是一个与特定REST框架直接相关的特性,它甚至不一定是关于Django的,它可以通过HTML + JS或者外部网站来实现。
我的问题是:你用什么来手动测试/调试Web服务?你能给我指一些HTML片段或者Django应用程序来做上面描述的事情吗?

eimct9ow

eimct9ow1#

这似乎是显而易见的,但是:为什么不直接使用Django的测试客户端(django.test.client.Client)呢?这样就不用在浏览器中手动“调试”了,您可以编写带有预期的单元测试,并在后续的测试中充分利用这些测试。
例如:

from django.test.client import Client
client = Client()
resp = client.put('/employee/2/', data={'email': 'here@there.com'}, follow=True)
#... etc
q1qsirdb

q1qsirdb2#

作为django-rest-framework的作者,如果能让你了解一下哪些功能可以充实一下,那就太好了。:)(显然,我有一些自己的想法,也有一些我计划要做的领域,但最好能从用户的Angular 来考虑)
你关于API浏览器不局限于任何特定框架的观点是完全正确的。对我来说,这是DRF的一个大问题,我希望看到更多的API框架采取类似的方法。RESTful API的一个假定好处是它们应该是自我描述的,对我来说,我们今天构建的许多Web API都是不可Web浏览的,这似乎是违反直觉的。
哦,完全同意jsw re。在django中测试Web API,我不会使用框架的可浏览API来替换自动化测试。

omtl5h9j

omtl5h9j3#

我有同样的问题,这是eaily解决了注销管理页面在该项目。

相关问题