假设您已经有一个复杂的 HTML 表单,可能来自设计师、前端开发人员等。对于复杂的表单不使用动态表单(基于 Django 表单)是常见的做法吗?
我想做这样的事情:
1.) 创建自定义 HTML 表单。
2.) 通过 POST 请求捕获表单数据,将其放入对象/字典中。
3.) 对该数据进行一些操作,以使其成为 Django 表单可接受的格式。
4.) 将处理后的数据传递给表单对象,对其进行验证等...
这个问题的明确解决方案是什么?我应该对所有事情都使用 Django 的动态表单吗?如果没有 - 我该如何实现上述内容?
编辑:
我的部分问题与仅使用表单进行验证有关。我想我没有说清楚。这是我正在尝试做的事情:
模板.html
<form method="post">
{% csrf_token %}
<input class="foo" name="bar" type="text" value=""/>
<!-- Some more fields, not rendered through Django form -->
<button type="submit">Create Object</button>
</form>
如您所见,除了csrf_token
这里没有 Django 代码。我在视图中尝试做的是在我的视图中捕获 POST 中的数据,对数据进行一些更改,然后尝试将新数据绑定到表单(不确定是否可能):
视图.py
def my_view(request):
# Some GET code
if request.method == 'POST':
form = ImportedForm(request.POST)
form.data['foo'] = "newValue"
# Now after changing the data, validate it...