如何让用户通过 URL 创建页面?
How to let user create a page via a URL?
我的思路是 /mysite/blogs/new。我知道 add_child and about Routablepage, also the 但我仍然不知道如何通过 URL.
允许创建页面
令我惊讶的是,似乎没有任何说明可以执行此操作,因为对于许多 'naive' 用户来说,依赖管理方法肯定是不可接受的。事实上,我花了一段时间才意识到 Wagtail 不像 Wordpress,就具有 'Add Post' 按钮之类的意义而言。
该文档也没有明确说明用户(显然)应该通过管理部分创建页面。事实上,似乎有一种假设开发人员会熟悉 Django,即使 CMS 应该更容易使用 IMO。
需要说明的是,我认为 Wagtail 很棒,但说明还有一些不足之处。也许我会尝试自己更新它们!
如果您启用了编辑 Bird/Userbar,那么它会显示一个按钮,可以在页面树中的任意位置添加子页面,只要您有权在此处添加子页面即可。如果您希望为新用户提供此选项,那么您可以对他们的权限进行相当严格的限制,以便他们只能在某些位置看到此选项,而看不到管理的任何其他 'settings' 区域。
添加这个的管理页面有自己的 URL:它通常看起来像 http://www.example.com/admin/pages/13/add_subpage/,其中 13 是当前页面的 ID。相反,如果您想自己展示 link,您可以在模板中手动添加 link 作为
<a href="{% url 'wagtailadmin_pages:add_subpage' page.id %}">Add a child page</a>
但首先你应该确保用户有相关权限。这最好在 Python 中完成,而不是在模板中完成。请参阅 https://github.com/wagtail/wagtail/blob/master/wagtail/wagtailadmin/userbar.py 了解 Wagtail 是如何做到这一点的。
为了更接近您的原始请求,您可以将以上所有内容与 RoutablePageMixin 结合起来,方法是创建一个重定向到相同 URL:
的路由 'add'
@route(r'^add$')
def add_child_page(self, request):
return redirect(reverse('wagtailadmin_pages:add_subpage', args=[self.pk]))
我的思路是 /mysite/blogs/new。我知道 add_child and about Routablepage, also the
令我惊讶的是,似乎没有任何说明可以执行此操作,因为对于许多 'naive' 用户来说,依赖管理方法肯定是不可接受的。事实上,我花了一段时间才意识到 Wagtail 不像 Wordpress,就具有 'Add Post' 按钮之类的意义而言。
该文档也没有明确说明用户(显然)应该通过管理部分创建页面。事实上,似乎有一种假设开发人员会熟悉 Django,即使 CMS 应该更容易使用 IMO。
需要说明的是,我认为 Wagtail 很棒,但说明还有一些不足之处。也许我会尝试自己更新它们!
如果您启用了编辑 Bird/Userbar,那么它会显示一个按钮,可以在页面树中的任意位置添加子页面,只要您有权在此处添加子页面即可。如果您希望为新用户提供此选项,那么您可以对他们的权限进行相当严格的限制,以便他们只能在某些位置看到此选项,而看不到管理的任何其他 'settings' 区域。
添加这个的管理页面有自己的 URL:它通常看起来像 http://www.example.com/admin/pages/13/add_subpage/,其中 13 是当前页面的 ID。相反,如果您想自己展示 link,您可以在模板中手动添加 link 作为
<a href="{% url 'wagtailadmin_pages:add_subpage' page.id %}">Add a child page</a>
但首先你应该确保用户有相关权限。这最好在 Python 中完成,而不是在模板中完成。请参阅 https://github.com/wagtail/wagtail/blob/master/wagtail/wagtailadmin/userbar.py 了解 Wagtail 是如何做到这一点的。
为了更接近您的原始请求,您可以将以上所有内容与 RoutablePageMixin 结合起来,方法是创建一个重定向到相同 URL:
的路由 'add'@route(r'^add$')
def add_child_page(self, request):
return redirect(reverse('wagtailadmin_pages:add_subpage', args=[self.pk]))