本文整理汇总了Python中django.forms.Form.data方法的典型用法代码示例。如果您正苦于以下问题:Python Form.data方法的具体用法?Python Form.data怎么用?Python Form.data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.forms.Form
的用法示例。
在下文中一共展示了Form.data方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: split_form
# 需要导入模块: from django.forms import Form [as 别名]
# 或者: from django.forms.Form import data [as 别名]
def split_form(form):
"""
move text_area fields to another form
:param form: forms.Form object
:return: two forms. First form without fields with Textarea widget
and second form which contains fields with Textarea widget
"""
if form.instance.id and not form.is_bound:
text_area_form = CustomForm()
text_area_form.is_bound = False
text_area_form.prefix = form.prefix
text_area_form.initial = QueryDict({}).copy()
data = form.initial.copy()
for k, v in form.fields.iteritems():
if isinstance(v, CharField) and isinstance(v.widget, Textarea):
text_area_form.fields.update({k: form.fields.pop(k)})
if data.get(k):
text_area_form.initial.update({k: data.get(k)})
del data[k]
form.data = data
return (form, text_area_form)
if form.is_bound:
text_area_form = CustomForm()
text_area_form.is_bound = True
text_area_form.prefix = form.prefix
text_area_form.data = QueryDict({}).copy()
data = form.data.copy()
for k, v in form.fields.iteritems():
if isinstance(v, CharField) and isinstance(v.widget, Textarea):
text_area_form.fields.update({k: form.fields.pop(k)})
k = "%s-%s" % (form.prefix, k)
if data.get(k):
text_area_form.data.update({k: data.get(k)})
del data[k]
form.data = data
return (form, text_area_form)
else:
text_area_form = CustomForm()
for k, v in form.fields.iteritems():
if isinstance(v, CharField) and isinstance(v.widget, Textarea):
text_area_form.fields.update({k: form.fields.pop(k)})
text_area_form.prefix = form.prefix
return (form, text_area_form)