本文整理汇总了Python中mezzanine.core.forms.get_edit_form函数的典型用法代码示例。如果您正苦于以下问题:Python get_edit_form函数的具体用法?Python get_edit_form怎么用?Python get_edit_form使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_edit_form函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: editable
def editable(parsed, context, token):
"""
Add the required HTML to the parsed content for in-line editing, such as
the icon and edit form if the object is deemed to be editable - either it
has an ``editable`` method which returns ``True``, or the logged in user
has change permissions for the model.
"""
def parse_field(field):
field = field.split(".")
obj = context[field.pop(0)]
attr = field.pop()
while field:
obj = getattr(obj, field.pop(0))
return obj, attr
fields = [parse_field(f) for f in token.split_contents()[1:]]
if fields:
fields = [f for f in fields if len(f) == 2 and f[0] is fields[0][0]]
if not parsed.strip():
try:
parsed = "".join([unicode(getattr(*field)) for field in fields])
except AttributeError:
pass
if fields and "request" in context:
obj = fields[0][0]
if isinstance(obj, Model) and is_editable(obj, context["request"]):
field_names = ",".join([f[1] for f in fields])
context["form"] = get_edit_form(obj, field_names)
context["original"] = parsed
t = get_template("includes/editable_form.html", context)
return t.render(Context(context))
return parsed
示例2: edit
def edit(request):
model = get_model(request.POST["app"], request.POST["model"])
obj = model.objects.get(id=request.POST["id"])
form = get_edit_form(obj, request.POST["attr"], data=request.POST)
if not is_editable(obj, request):
response = _("Permission denied")
elif form.is_valid():
form.save()
response = ""
else:
response = form.errors.values()[0][0]
return HttpResponse(unicode(response))
示例3: edit
def edit(request):
"""
Process the inline editing form.
"""
model = get_model(request.POST["app"], request.POST["model"])
obj = model.objects.get(id=request.POST["id"])
form = get_edit_form(obj, request.POST["fields"], data=request.POST,
files=request.FILES)
if not is_editable(obj, request):
response = "Permission denied"
elif form.is_valid():
form.save()
response = ""
else:
response = form.errors.values()[0][0]
return HttpResponse(unicode(response))
示例4: edit
def edit(request):
"""
Process the inline editing form.
"""
model = get_model(request.POST["app"], request.POST["model"])
obj = model.objects.get(id=request.POST["id"])
form = get_edit_form(obj, request.POST["fields"], data=request.POST, files=request.FILES)
if not is_editable(obj, request):
response = _("Permission denied")
elif form.is_valid():
form.save()
model_admin = ModelAdmin(model, admin.site)
message = model_admin.construct_change_message(request, form, None)
model_admin.log_change(request, obj, message)
response = ""
else:
response = form.errors.values()[0][0]
return HttpResponse(unicode(response))
示例5: editable
def editable(parsed, context, token):
"""
Add the required HTML to the parsed content for in-line editing, such as
the icon and edit form if the object is deemed to be editable - either it
has an ``editable`` method which returns True, or the logged in user has
change permissions for the model.
"""
parts = token.split_contents()[1].split(".")
obj = context[parts.pop(0)]
attr = parts.pop()
while parts:
obj = getattr(obj, parts.pop(0))
if not parsed.strip():
parsed = getattr(obj, attr)
if isinstance(obj, Model) and is_editable(obj, context["request"]):
context["form"] = get_edit_form(obj, attr)
context["original"] = parsed
context["uuid"] = uuid4()
t = get_template("includes/editable_form.html")
return t.render(Context(context))
return parsed