python - Django REST 浏览器界面

标签 python django web-services testing rest

我正在为 Django 项目编写一组 REST 服务。我使用 django-rest-framework 有一段时间了。由于它的功能有限,我不得不切换到我非常喜欢的 django-piston。

但是,django-rest-framework 有一个非常好的功能 - 它能够显示一个类似管理的界面,用于从浏览器测试创建的服务。这对于调试目的来说非常棒。这非常简单:为每个 HTTP 方法(如“GET”、“POST”等)显示一个表单。随之而来的是一个可用内容类型的下拉列表和一个用于输入要发送的数据的文本字段。

在我看来,这并不是一个与特定 REST 框架直接相关的功能。它甚至不一定与 Django 有关。这一切都可以使用 HTML + JS 或外部网站来实现。

我的问题是:您使用什么进行手动测试/调试 Web 服务?你能给我指出一些 HTML 片段或 Django 应用程序来完成所描述的事情吗?

最佳答案

这看起来很明显,但是: 为什么不直接使用 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

关于python - Django REST 浏览器界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736868/

相关文章:

python - 通过父初始化器以外的东西初始化子类的实例

python - SQLAlchemy - 过滤查询,排除许多 child 之一符合条件的 parent

Django 按升序排序查询集

Django 覆盖详细信息 View 获取方法

Django admin - stackedInline 单实例

java - 如何从java中的axis2 webservice请求获取客户端的ip?

java - 使用 Apache Axis2 和 Tomcat 版本 7 的 Web 服务出现问题

python - Django re_path 正则表达式不匹配

iphone - 大多数 iPhone 应用程序是否通过网络服务进行通信?

python - 启动和停止外部程序?