如何在主要的只读Django网站上最好地实现仅管理员页面和特定于管理员的视图?
|
我正在写一个Django网站。它几乎是一个只读网站,但管理员对网站执行一些更新操作。我希望管理员通过网站的前端进行编辑。
为此,对于管理员,某些URL的显示方式有所不同,除非请求来自已登录的管理员,否则某些URL应该返回404。
我不想让管理员用户的存在对匿名用户尤为明显,因此,如果该用户尚未以管理员身份登录,那么仅管理员页面的404即可。
目前我的设计是:
在服务器级别,将两个主机名用作同一单个Django站点的别名:
admin.example.com
www.example.com
在Django应用程序级别,对于每个仅管理员视图或对于管理员显示不同的视图,请检查请求的主机名是否为“ 0”。如果是:
如果请求来自登录的管理员,请返回具有管理员特定显示的页面
否则,返回404
具有管理员可以手动登录的URL。
这是愚蠢的吗?我是否错过了一种更简单/更好的方法?
没有找到相关结果
已邀请:
2 个回复
屡倒雷图
装饰器:
或者您可以简单地在视图中分支:
在此之上创建整个子域层将很快变得非常复杂,因为Django中并非所有类和函数都必须有权访问请求对象,因此,请求来自哪个域。
痰降锭骂奸