【发布时间】:2018-07-15 05:39:30
【问题描述】:
我想将我现有的应用程序(比如论坛)集成到 Django CMS 中。
问题是我不希望用户拥有任何 Django CMS 功能。
他们应该看不到编辑栏或任何与 Django CMS 相关的东西。
我只希望他们能够访问其他 Django 应用程序。没有 Django CMS 特定的东西,例如页面、插件等。
有可能吗?怎么样?
【问题讨论】:
我想将我现有的应用程序(比如论坛)集成到 Django CMS 中。
问题是我不希望用户拥有任何 Django CMS 功能。
他们应该看不到编辑栏或任何与 Django CMS 相关的东西。
我只希望他们能够访问其他 Django 应用程序。没有 Django CMS 特定的东西,例如页面、插件等。
有可能吗?怎么样?
【问题讨论】:
最简单的方法是将 CMS 工具栏限制为超级用户;
{% if request.user.is_authenticated and request.user.is_superuser %}
{% cms_toolbar %}
{% endif %}
工具栏也是请求对象的一部分,因此在您的应用视图中,您可以通过执行request.toolbar.show_toolbar = False (docs) 之类的操作来禁用它
【讨论】:
{% 标签通过 django 的模板引擎转换为 HTML 以呈现到浏览器中,因此如果您没有登录或不是超级用户,则不会呈现工具栏。检查文档; docs.djangoproject.com/en/2.0/topics/auth/default/…