本文整理汇总了Python中wiki.forms.RevisionForm.save方法的典型用法代码示例。如果您正苦于以下问题:Python RevisionForm.save方法的具体用法?Python RevisionForm.save怎么用?Python RevisionForm.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wiki.forms.RevisionForm
的用法示例。
在下文中一共展示了RevisionForm.save方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_form_save_section
# 需要导入模块: from wiki.forms import RevisionForm [as 别名]
# 或者: from wiki.forms.RevisionForm import save [as 别名]
def test_form_save_section(self):
d, r = doc_rev(
"""
<h1 id="s1">s1</h1>
<p>test</p>
<p>test</p>
<h1 id="s2">s2</h1>
<p>test</p>
<p>test</p>
<h1 id="s3">s3</h1>
<p>test</p>
<p>test</p>
"""
)
replace_content = """
<h1 id="s2">New stuff</h1>
<p>new stuff</p>
"""
expected = """
<h1 id="s1">s1</h1>
<p>test</p>
<p>test</p>
<h1 id="s2">New stuff</h1>
<p>new stuff</p>
<h1 id="s3">s3</h1>
<p>test</p>
<p>test</p>
"""
rev_form = RevisionForm({"content": replace_content}, instance=r, section_id="s2")
new_rev = rev_form.save(r.creator, d)
eq_(normalize_html(expected), normalize_html(new_rev.content))
示例2: page_edit
# 需要导入模块: from wiki.forms import RevisionForm [as 别名]
# 或者: from wiki.forms.RevisionForm import save [as 别名]
def page_edit(request, page_slug):
try:
page = Page.objects.get_by_write(page_slug, request)
except PermissionDenied:
return redirect('wiki-page', page_slug=page_slug)
except Page.DoesNotExist:
page = None
form_page = None
if request.POST:
form = RevisionForm(request.POST)
if form.is_valid():
# adding new page
if page is None:
form_page = PageAddForm(request.POST, user=request.user)
if form_page.is_valid():
page = form_page.save()
if Page.objects.count() == 1:
# first wiki page created
configuration = Configuration.objects.current()
configuration.wiki_homepage = page
configuration.save()
messages.info(request, _(u'Diese Wiki-Seite wurde nun als Startseite des Wikis eingerichtet. '
u'Du kannst das in der Konfiguration ändern.'))
if page:
revision = form.save(commit=False)
revision.user = request.user.actor
revision.page = page
revision.save()
message_object_updated(request, page)
return redirect(page)
else:
form_page = PageAddForm(request.POST, user=request.user, initial={'title': page_slug.capitalize})
else:
if page is None:
form = RevisionForm()
form_page = PageAddForm(user=request.user, initial={'title': page_slug.capitalize})
else:
revision = page.get_current()
revision.summary = ''
form = RevisionForm(instance=revision)
if page is not None:
is_owner = page.is_owner(request.user.actor)
else:
is_owner = None
return render(request, 'wiki/page-edit.html', get_context_wiki(request, 'wiki-page-edit',
{'form': form, 'page': page,
'form_page': form_page,
'tpl__is_owner': is_owner}))
示例3: add_page_view
# 需要导入模块: from wiki.forms import RevisionForm [as 别名]
# 或者: from wiki.forms.RevisionForm import save [as 别名]
def add_page_view(request, binder, *args, **kwargs):
wiki = binder.lookup(*args, **kwargs)
slug = request.GET.get("slug", "")
if not slug:
slug = "Page Name"
try:
if wiki:
page = wiki.pages.get(slug=slug)
else:
page = Page.objects.get(slug=slug)
except Page.DoesNotExist:
pass
else:
return HttpResponseRedirect(page.get_edit_url())
if not hookset.can_create_page(wiki, request.user):
raise Http404()
form = RevisionForm(
request.POST if "edit" in request.POST else None,
revision=None,
)
if form.is_valid():
page = Page.objects.create(wiki=wiki, slug=slug)
revision = form.save(commit=False)
revision.page = page
revision.created_by = request.user
revision.created_ip = request.META.get(settings.WIKI_IP_ADDRESS_META_FIELD,
request.META.get("REMOTE_ADDR"))
revision.parse()
revision.save()
return HttpResponseRedirect(binder.page_url(wiki, slug))
form.fields["content"].help_text = ""
page_name = "Add {0}".format(slug)
return render_to_response("wiki/edit.html", {
"page_name": page_name,
"form": form,
"can_delete": False,
}, context_instance=RequestContext(request))
示例4: edit
# 需要导入模块: from wiki.forms import RevisionForm [as 别名]
# 或者: from wiki.forms.RevisionForm import save [as 别名]
def edit(request, slug, binder, *args, **kwargs):
wiki = binder.lookup(*args, **kwargs)
try:
if wiki:
page = wiki.pages.get(slug=slug)
else:
page = Page.objects.get(slug=slug)
rev = page.revisions.latest()
if not hookset.can_edit_page(page, request.user):
return HttpResponseForbidden()
except Page.DoesNotExist:
return HttpResponseRedirect(reverse("wiki_add") + "?slug=" + slug)
form = RevisionForm(
request.POST if "edit" in request.POST else None,
revision=rev,
)
if form.is_valid():
revision = form.save(commit=False)
revision.page = page
revision.created_by = request.user
revision.created_ip = request.META.get(settings.WIKI_IP_ADDRESS_META_FIELD,
request.META.get("REMOTE_ADDR"))
revision.parse()
revision.save()
return HttpResponseRedirect(binder.page_url(wiki, slug))
form.fields["content"].help_text = ""
can_delete = hookset.can_delete_page(page, request.user) and page.pk
if can_delete and "delete" in request.POST:
page.delete()
return HttpResponseRedirect(reverse("wiki_all"))
page_name = "Edit {0}".format(page.slug)
return render_to_response("wiki/edit.html", {
"page_name": page_name,
"form": form,
"page": page,
"can_delete": can_delete,
}, context_instance=RequestContext(request))