我正在尝试组织我的 django 应用程序返回的错误消息,并且遇到内容为空的 HttpResponseBadRequest 对象的子类的问题:
在views.py中:
class HttpNoContentAvailable(django.http.HttpResponseBadRequest):
content = "Must add content before making this request."
def get_content(request, project_id):
project = Project.objects.get(pk=project_id)
if not project.has_content():
return HttpNoContentAvailable()
...
它的工作原理如下:
def get_content(request, project_id):
project = Project.objects.get(pk=project_id)
if not project.has_content():
return HttpNoContentAvailable("Must add content before making this request.")
...
在我的应用程序中,有很多视图需要根据是否有内容返回相同的 400 响应,我想将响应内容存储在一个地方。为了让事情变得更“有趣”,我在开发服务器上运行的单元测试通过了——我得到了包含正确内容的 HTTP 400 响应,但是在生产环境中运行时,我得到了没有内容的 HTTP 400 响应。
如何获得 HTTP 400 响应以获取正确的内容?(或者,更一般地说,您建议我如何组织代码以实现仅将响应内容存储一次的目标?)