本文整理汇总了Python中xadmin.layout.FormHelper类的典型用法代码示例。如果您正苦于以下问题:Python FormHelper类的具体用法?Python FormHelper怎么用?Python FormHelper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FormHelper类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_form_helper
def get_form_helper(self):
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
helper.add_layout(self.get_form_layout())
return helper
开发者ID:116pythonZS,项目名称:imooc-django,代码行数:7,代码来源:form.py
示例2: instance_form
def instance_form(self, **kwargs):
formset = self.get_formset(**kwargs)
attrs = {"instance": self.model_instance, "queryset": self.queryset()}
if self.request_method == "post":
attrs.update(
{
"data": self.request.POST,
"files": self.request.FILES,
"save_as_new": "_saveasnew" in self.request.POST,
}
)
instance = formset(**attrs)
instance.view = self
helper = FormHelper()
helper.form_tag = False
# override form method to prevent render csrf_token in inline forms, see template 'bootstrap/whole_uni_form.html'
helper.form_method = "get"
style = style_manager.get_style("one" if self.max_num == 1 else self.style)(self, instance)
style.name = self.style
if len(instance):
layout = copy.deepcopy(self.form_layout)
if layout is None:
layout = Layout(*instance[0].fields.keys())
elif type(layout) in (list, tuple) and len(layout) > 0:
layout = Layout(*layout)
rendered_fields = [i[1] for i in layout.get_field_names()]
layout.extend([f for f in instance[0].fields.keys() if f not in rendered_fields])
helper.add_layout(layout)
style.update_layout(helper)
# replace delete field with Dynamic field, for hidden delete field when instance is NEW.
helper[DELETION_FIELD_NAME].wrap(DeleteField)
instance.helper = helper
instance.style = style
readonly_fields = self.get_readonly_fields()
if readonly_fields:
for form in instance:
form.readonly_fields = []
inst = form.save(commit=False)
if inst:
for readonly_field in readonly_fields:
value = None
label = None
if readonly_field in inst._meta.get_all_field_names():
label = inst._meta.get_field_by_name(readonly_field)[0].verbose_name
value = unicode(getattr(inst, readonly_field))
elif inspect.ismethod(getattr(inst, readonly_field, None)):
value = getattr(inst, readonly_field)()
label = getattr(getattr(inst, readonly_field), "short_description", readonly_field)
if value:
form.readonly_fields.append({"label": label, "contents": value})
return instance
开发者ID:rzg,项目名称:django-xadmin,代码行数:60,代码来源:inline.py
示例3: get_form_helper
def get_form_helper(self):
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
layout = self.get_form_layout()
replace_field_to_value(layout, self.get_field_result)
helper.add_layout(layout)
return helper
开发者ID:xypisces,项目名称:python,代码行数:8,代码来源:detail.py
示例4: setup
def setup(self):
helper = FormHelper()
helper.form_tag = False
self.helper = helper
self.id = self.cleaned_data['id']
self.title = self.cleaned_data['title'] or self.base_title
if not (self.user.is_superuser or self.has_perm()):
raise PermissionDenied
开发者ID:apprentice1985,项目名称:django-xadmin,代码行数:10,代码来源:dashboard.py
示例5: context
def context(self, context):
helper = FormHelper()
helper.form_tag = False
context.update({
'addform': self.add_view.form_obj,
'addhelper': helper,
'addurl': self.add_view.model_admin_url('add'),
'model': self.model
})
开发者ID:apprentice1985,项目名称:django-xadmin,代码行数:10,代码来源:dashboard.py
示例6: context
def context(self, context):
helper = FormHelper()
helper.form_tag = False
context.update(
{
"addform": self.add_view.form_obj,
"addhelper": helper,
"addurl": self.add_view.model_admin_url("add"),
"model": self.model,
}
)
开发者ID:richardhahahaha,项目名称:django-xadmin,代码行数:12,代码来源:dashboard.py
示例7: get_form_helper
def get_form_helper(self):
helper = FormHelper()
helper.form_tag = False
helper.add_layout(self.get_form_layout())
# deal with readonly fields
readonly_fields = self.get_readonly_fields()
if readonly_fields:
detail = self.get_model_view(DetailAdminUtil, self.model, self.form_obj.instance)
for field in readonly_fields:
helper[field].wrap(ReadOnlyField, detail)
return helper
开发者ID:SunGuo,项目名称:django-xadmin,代码行数:13,代码来源:edit.py
示例8: get_context
def get_context(self):
context = super(ChangePasswordView, self).get_context()
helper = FormHelper()
helper.form_tag = False
self.form.helper = helper
context.update({
'title': _('Change password: %s') % escape(unicode(self.obj)),
'form': self.form,
'has_delete_permission': False,
'has_change_permission': True,
'has_view_permission': True,
'original': self.obj,
})
return context
开发者ID:sirithink,项目名称:django-xadmin,代码行数:14,代码来源:auth.py
示例9: get_context
def get_context(self):
context = super(ChangePasswordView, self).get_context()
helper = FormHelper()
helper.form_tag = False
self.form.helper = helper
context.update(
{
"title": _("Change password: %s") % escape(str(self.obj)),
"form": self.form,
"has_delete_permission": False,
"has_change_permission": True,
"has_view_permission": True,
"original": self.obj,
}
)
return context
开发者ID:jneight,项目名称:django-xadmin,代码行数:16,代码来源:auth.py
示例10: get
def get(self, request, *args, **kwargs):
context = self.get_context()
helper = FormHelper()
helper.form_tag = False
context.update({
'title': self.title,
'helper': helper,
'app_path': request.get_full_path(),
REDIRECT_FIELD_NAME: request.get_full_path(),
})
defaults = {
'extra_context': context,
'current_app': self.admin_site.name,
'authentication_form': self.login_form or AdminAuthenticationForm,
'template_name': self.login_template or 'xadmin/views/login.html',
}
self.update_params(defaults)
return login(request, **defaults)
开发者ID:jamespacileo,项目名称:django-xadmin,代码行数:18,代码来源:website.py
示例11: instance_form
def instance_form(self, **kwargs):
formset = self.get_formset(**kwargs)
attrs = {
'instance': self.model_instance,
'queryset': self.queryset()
}
if self.request_method == 'post':
attrs.update({
'data': self.request.POST, 'files': self.request.FILES,
'save_as_new': "_saveasnew" in self.request.POST
})
instance = formset(**attrs)
instance.view = self
helper = FormHelper()
helper.form_tag = False
# override form method to prevent render csrf_token in inline forms, see template 'bootstrap/whole_uni_form.html'
helper.form_method = 'get'
style = style_manager.get_style('one' if self.max_num == 1 else self.style)(self, instance)
if len(instance):
layout = copy.deepcopy(self.form_layout)
if layout is None:
layout = Layout(*instance[0].fields.keys())
elif type(layout) in (list, tuple) and len(layout) > 0:
layout = Layout(*layout)
rendered_fields = [i[1] for i in layout.get_field_names()]
layout.extend([f for f in instance[0].fields.keys() if f not in rendered_fields])
helper.add_layout(layout)
style.update_layout(helper)
# replace delete field with Dynamic field, for hidden delete field when instance is NEW.
helper[DELETION_FIELD_NAME].wrap(DeleteField)
instance.helper = helper
instance.style = style
return instance
开发者ID:Ddper,项目名称:django-xadmin,代码行数:43,代码来源:inline.py
示例12: get
def get(self, request, object_id):
model_fields = [f.name for f in self.opts.fields]
fields = [f for f in request.GET["fields"].split(",") if f in model_fields]
defaults = {"form": self.form, "fields": fields, "formfield_callback": self.formfield_for_dbfield}
form_class = modelform_factory(self.model, **defaults)
form = form_class(instance=self.org_obj)
helper = FormHelper()
helper.form_tag = False
form.helper = helper
s = (
'{% load i18n crispy_forms_tags %}<form method="post" action="{{action_url}}">{% crispy form %}'
+ '<button type="submit" class="btn btn-success btn-block btn-sm">{% trans "Apply" %}</button></form>'
)
t = template.Template(s)
c = template.Context({"form": form, "action_url": self.model_admin_url("patch", self.org_obj.pk)})
return HttpResponse(t.render(c))
开发者ID:githubwoniu,项目名称:xxadmin,代码行数:19,代码来源:editable.py
示例13: do_action
def do_action(self, queryset):
if not self.has_change_permission():
raise PermissionDenied
change_fields = [f for f in self.request.POST.getlist(BATCH_CHECKBOX_NAME) if f in self.batch_fields]
if change_fields and self.request.POST.get('post'):
self.form_obj = self.get_change_form(True, change_fields)(
data=self.request.POST, files=self.request.FILES)
if self.form_obj.is_valid():
self.change_models(queryset, self.form_obj.cleaned_data)
return None
else:
self.form_obj = self.get_change_form(False, self.batch_fields)()
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
helper.add_layout(Layout(Container(Col('full',
Fieldset("", *self.form_obj.fields.keys(), css_class="unsort no_title"), horizontal=True, span=12)
)))
self.form_obj.helper = helper
count = len(queryset)
if count == 1:
objects_name = force_text(self.opts.verbose_name)
else:
objects_name = force_text(self.opts.verbose_name_plural)
context = self.get_context()
context.update({
"title": _("Batch change %s") % objects_name,
'objects_name': objects_name,
'form': self.form_obj,
'queryset': queryset,
'count': count,
"opts": self.opts,
"app_label": self.app_label,
'action_checkbox_name': ACTION_CHECKBOX_NAME,
})
return TemplateResponse(self.request, self.batch_change_form_template or
self.get_template_list('views/batch_change_form.html'), context)
开发者ID:116pythonZS,项目名称:imooc-django,代码行数:42,代码来源:batch.py
示例14: get_form_helper
def get_form_helper(self):
"""
取得 Crispy Form 需要的 FormHelper。具体信息可以参看 `Crispy Form 文档 <http://django-crispy-forms.readthedocs.org/en/latest/tags.html#crispy-tag>`_
"""
helper = FormHelper()
helper.form_tag = False # 默认不需要 crispy 生成 form_tag
helper.add_layout(self.get_form_layout())
# 处理只读字段
readonly_fields = self.get_readonly_fields()
if readonly_fields:
# 使用 :class:`xadmin.views.detail.DetailAdminUtil` 来显示只读字段的内容
detail = self.get_model_view(
DetailAdminUtil, self.model, self.form_obj.instance)
for field in readonly_fields:
# 替换只读字段
helper[field].wrap(ReadOnlyField, detail=detail)
return helper
开发者ID:JoneXiong,项目名称:DjangoX,代码行数:20,代码来源:edit.py
示例15: get_form_helper
def get_form_helper(self):
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
layout = self.get_form_layout()
replace_field_to_value(layout, self.get_field_result)
helper.add_layout(layout)
helper.filter(
basestring, max_level=20).wrap(ShowField, admin_view=self)
return helper
开发者ID:alexsilva,项目名称:django-xadmin,代码行数:10,代码来源:detail.py
示例16: get_form_helper
def get_form_helper(self):
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
helper.add_layout(self.get_form_layout())
helper.field_template = "xadmin/layout/field.html"
return helper
开发者ID:eddiep1101,项目名称:django-xadmin,代码行数:8,代码来源:form.py
示例17: get
def get(self, request, object_id):
model_fields = [f.name for f in self.opts.fields]
fields = [f for f in request.GET['fields'].split(',') if f in model_fields]
defaults = {
"form": self.form,
"fields": fields,
"formfield_callback": self.formfield_for_dbfield,
}
form_class = modelform_factory(self.model, **defaults)
form = form_class(instance=self.org_obj)
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
form.helper = helper
s = '{% load i18n crispy_forms_tags %}<form method="post" action="{{action_url}}">{% csrf_token %}{% crispy form %}' + \
'<button type="submit" class="btn btn-success btn-block btn-sm">{% trans "Apply" %}</button></form>'
t = template.Template(s)
# c = template.Context({'form': form, 'action_url': self.model_admin_url('patch', self.org_obj.pk)})
c = template.RequestContext(request, {'form': form, 'action_url': self.request.get_full_path()})
return HttpResponse(t.render(c))
开发者ID:eddiep1101,项目名称:django-xadmin,代码行数:23,代码来源:editable.py
示例18: do_action
def do_action(self, queryset):
if not self.has_change_permission():
raise PermissionDenied
form_class = self.get_change_form()
if self.request.POST.get('post'):
self.form_obj = form_class(data=self.request.POST, files=self.request.FILES)
return None
else:
self.form_obj = form_class()
helper = FormHelper()
helper.form_tag = False # 默认不需要 crispy 生成 form_tag
helper.add_layout(Layout(Container(
Fieldset("", *self.form_obj.fields.keys(), css_class="unsort no_title"), css_class="form-horizontal"
)))
self.form_obj.helper = helper
if len(queryset) == 1:
objects_name = force_unicode(self.opts.verbose_name)
else:
objects_name = force_unicode(self.opts.verbose_name_plural)
context = self.get_context()
context.update({
"title": _("Change %s") % objects_name,
'form': self.form_obj,
'queryset': queryset,
"opts": self.opts,
"app_label": self.app_label,
'action_checkbox_name': ACTION_CHECKBOX_NAME,
})
return TemplateResponse(self.request, self.batch_change_form_template or \
self.get_template_list('batch_change_form.html'), context, current_app=self.admin_site.name)
开发者ID:Ddper,项目名称:django-xadmin,代码行数:37,代码来源:batch.py
示例19: get
def get(self, request, *args, **kwargs):
context = self.get_context()
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
if request.get_full_path() == self.get_admin_url('login'):
next_url = self.get_admin_url('index')
else:
next_url = request.get_full_path()
context.update({
'title': self.title,
'helper': helper,
'app_path': request.get_full_path(),
'site_title': self.site_title,
'site_footer': self.site_footer,
REDIRECT_FIELD_NAME: next_url,
})
defaults = {
'extra_context': context,
'current_app': self.admin_site.name,
'authentication_form': self.login_form or AdminAuthenticationForm,
'template_name': self.login_template or 'xadmin/views/login.html',
}
self.update_params(defaults)
if getattr(settings, 'GOOGLE_RECAPTCHA_SITE_ID', ''):
context['GOOGLE_RECAPTCHA_SITE_ID'] = settings.GOOGLE_RECAPTCHA_SITE_ID
if request.method == 'POST' and getattr(settings, 'GOOGLE_RECAPTCHA_SECRET_KEY', '') and not request.recaptcha_is_valid:
# reCaptcha fail
context.update({'recaptcha_message': _(u'Please check the above verify box!')})
return render(request, defaults['template_name'], context)
return login(request, **defaults)
开发者ID:eddiep1101,项目名称:django-xadmin,代码行数:36,代码来源:website.py
示例20: get_form_helper
def get_form_helper(self):
"""
取得 Crispy Form 需要的 FormHelper。具体信息可以参看 `Crispy Form 文档 <http://django-crispy-forms.readthedocs.org/en/latest/tags.html#crispy-tag>`_
"""
helper = FormHelper()
helper.form_tag = False
layout = self.get_form_layout()
# 替换所有的字段为 ShowField
replace_field_to_value(layout, self.get_field_result)
helper.add_layout(layout)
helper.filter(
basestring, max_level=20).wrap(ShowField, admin_view=self)
return helper
开发者ID:JoneXiong,项目名称:DjangoX,代码行数:13,代码来源:detail.py
注:本文中的xadmin.layout.FormHelper类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论