我似乎想不出一个好的方法来做到这一点,
我有一堆表单输入字段,而不是像下面那样我必须输入每个字段名 = ""等等,有没有一种方法可以对此进行编码,以便它会自动保存每个字段形式?
b = Modelname(fieldname=request.POST['fieldname'])
b.save()
我意识到这有安全问题,但可以通过检查有效表单值的列表运行它来否定它。
请您参考如下方法:
当然,request.POST.items() 和 request.POST.iteritems() 就像字典中的同名方法一样工作,分别返回 resp。该类字典对象中所有 (name, value) 对(2 项元组)的列表和迭代器。如果一个名字有多个值,那只会给你最后一个;如果你想要所有这些,请使用 request.POST.iterlists(),它在每对的 value 槽中有一个 list 所有具有该名称的字段的值。
因此,例如,假设您不关心重复项或知道没有重复项,即使是短至以下的片段:
for name, value in request.POST.iteritems():
ModelName(**dict( [ (name, value) ] )).save()
可能就足够了,尽管在以这种方式保存名称/值对之前添加一些验证检查肯定会更好;-)。
