我正在编写一个简单的django应用程序来管理网站上的页面。 这些页面是通过管理网站创建的,可以使用“查看现场”功能进行预览。 每个页面都有一个“发布”布尔值,用于确定显示页面的视图是否应在网站上显示它。 当然,一旦我改变视图以尊重'已发布',管理页面的'查看现场'链接也不会显示该页面。 但我希望能够在编辑过程中预览未发布的页面。在非管理视图中使用django admin的站点身份验证
因此,我决定更改视图以检查是否存在与请求关联的已认证用户。 例如:
if request.user.is_authenticated() and request.user.is_staff:
manager=Pages.objects #returns all pages
else:
manager=Pages.live #only returns published pages
然后适当的经理传递从URL捕获
然而PAGE_ID到get_object_or_404一起,在视图中,用户永远是匿名,即使是谁认证与用户管理网站点击“查看网站”链接。 因此,'活'管理器总是被使用,并且我有和以前一样的结果:404当从管理站点访问未发布的页面时。 这是它应该表现的方式吗? 我真的认为会话信息将从管理网站的会话中继承。
我会很感激这里的任何方向,因为我可能不太清楚这应该如何工作。 我不需要该网站的登录机制,所以我希望能够搭载管理员的登录信息,以便能够查看管理员中未发布的网页。
谢谢