我的表单内容必须提交到另一个应用程序服务器进行验证和执行(具体来说,我使用表单中发布的值调用 RESTful Web 服务)。该服务将返回 200 SUCCESS 或 400/409 错误,并带有描述确切字段错误的正文。
我应该什么时候提交?我应该在 View 中执行此操作吗:
if form.is_valid:
result = submit_to_service(POST)
if result.code in (400, 409):
somehow_set_errors_on_the_form(form)
else:
go_on...
或者在 Form.clean 方法中?
def clean(self):
result = submit_to_service(POST)
if result.code in (400, 409):
for field in result.errors:
self._errors[field].append(result.errors[field])
else:
pass
哪一个更清楚?
最佳答案
validation and execution
clean()
形式中没有执行或有状态更改。请。表单的 clean()
应该只干扰表单上的数据,而不是其他任何地方。
如果存在有状态更改,则它必须位于非 GET 请求处理程序内的 View 函数中。
关于python - 我应该什么时候提交 Django 表单的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525956/