Django 中的多个表单处理
在 Django 中,在单个页面上处理多个表单可能会带来挑战。让我们探索两种可行的方法来解决这种情况:
方法 1:单独的表单 URL
为每个表单分配不同的 URL。这会导致单独的视图函数处理提交。此方法的优点在于其简单性和代码组织。
方法 2:利用提交按钮值
如果您希望将表单保留在同一页面上,您可以根据提交按钮值来区分它们。下面的代码片段演示了这种方法:
if request.method == 'POST': if 'bannedphrase' in request.POST: bannedphraseform = BannedPhraseForm(request.POST, prefix='banned') if bannedphraseform.is_valid(): bannedphraseform.save() expectedphraseform = ExpectedPhraseForm(prefix='expected') elif 'expectedphrase' in request.POST: expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected') if expectedphraseform.is_valid(): expectedphraseform.save() bannedphraseform = BannedPhraseForm(prefix='banned') else: bannedphraseform = BannedPhraseForm(prefix='banned') expectedphraseform = ExpectedPhraseForm(prefix='expected')
在此代码中,bannedphrase和expectedphrase是提交按钮的名称,而bannedphraseform和expectedphraseform是相应的表单。通过检查请求的 POST 数据中是否存在这些按钮,您可以识别提交的是哪个表单并进行相应的处理。
以上是如何在单个 Django 视图中处理多个表单?的详细内容。更多信息请关注PHP中文网其他相关文章!