Django实战-信息资讯-CMS后台管理-上

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

在之前的项目中,都在用 django 的后台集成工具 xadmin 和 admin,这两样后台管理工具很强大,基本上能满足不同的开发需求。本次采用自建 cms 来实现后台的管理。

首先,本次项目有6大应用,用户、资讯、课程、订单、富文本、cms管理。

其次,需要知道如何实现后台数据的增删改查。对后台的管理,需要给不同用户配置后台管理权限。实现后台管理权限的配置,可以通过 django 自带的用户模型中的 is_staff 属性,来给对应的用户授予后台操作的权限。

① 后台权限

django的用户可分为两类,一是可认证的用户,也就是在django.contrib.auth.models.User中注册了的;另一种是匿名用户django.contrib.auth.models.AnonymousUser,每个访问的未登录的用户都是该类的一个实例,而匿名用户是无法认证的,即 is_authenticated 方法永远返回 False,或者is_anonymous返回True,我们可以在代码逻辑中实现对匿名用户进行判断,然后拒绝其访问(403),或者重定向到登录页面等。

只允许 staff 身份的用户访问某个视图,django同样提供了一个便捷的装饰器来实现这个功能:

from django.contrib.admin.views.decorators import staff_member_required

后台管理视图

@staff_member_required(login_url='/')
def index(request):
    return render(request, 'cms/index.html')

原文发布于微信公众号 - 数据云团(SmartData)

原文发表时间:2019-07-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券