首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django管理站点中的列/字段级别权限?

在Django管理站点中,可以通过设置模型的Meta类中的permissions属性来实现列/字段级别的权限管理。

例如,假设有一个名为UserProfile的模型,其中包含first_namelast_nameemail字段。要实现这些字段的列级别权限管理,可以在模型中定义Meta类并设置permissions属性,如下所示:

代码语言:python
复制
from django.db import models
from django.contrib.auth.models import Group

class UserProfile(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    email = models.EmailField()

    class Meta:
        permissions = [
            ('view_first_name', 'Can view first name'),
            ('view_last_name', 'Can view last name'),
            ('view_email', 'Can view email'),
        ]

然后,可以将这些权限分配给特定的用户或用户组。例如,可以使用Django的Group模型将权限分配给特定的用户组,如下所示:

代码语言:python
复制
group = Group.objects.get(name='user_group')
group.permissions.add(Permission.objects.get(codename='view_first_name'))

在Django管理站点中,可以使用list_display属性来显示模型的特定字段。例如,要在UserProfile模型的列表视图中仅显示first_namelast_name字段,可以在admin.py文件中定义以下内容:

代码语言:python
复制
from django.contrib import admin
from .models import UserProfile

class UserProfileAdmin(admin.ModelAdmin):
    list_display = ('first_name', 'last_name')

admin.site.register(UserProfile, UserProfileAdmin)

这样,具有相应权限的用户将只能看到first_namelast_name字段,而无法看到email字段。

总之,通过在Django模型中定义Meta类并设置permissions属性,可以实现列/字段级别的权限管理。然后,可以使用Django的Group模型将这些权限分配给特定的用户或用户组,并在管理站点中使用list_display属性来控制要显示的字段。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django ORM 查询表中某字段方法

下面看下Django ORM 查询表中某字段值,详情如下: 场景: 有一个表中某一,你需要获取到这一所有值,你怎么操作?...QuerySet,但是内容是元祖形式查询值。...但是我们想要是这一值呀,这怎么是一个QuerySet,而且还包含了列名,或者是被包含在了元祖中?...查看高阶用法,告诉你怎么获取一个值list,如: [‘测试feed’, ‘今天’, ‘第三个日程测试’, ‘第四个日程测试’, ‘第五个测试日程’] 到此这篇关于Django ORM 查询表中某字段文章就介绍到这了...,更多相关django orm 字段值内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

11.7K10

Django 1.10中文文档-第一个应用Part7-自定义管理站

在这个表单中,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Django在admin站点中,自动地将所有的外键关系展示为一个select框。...你可以点击其中一表头来让列表按照这值来进行排序,但是was_published_recently这表头不行,因为Django不支持按照随便一个方法输出进行排序。...它可以用Django模板系统轻松改变。 Django管理站点是用Django自己制作出来,它界面代码使用Django自己模板系统。...当Django渲染admin/base_site.html时候,这个模板语言将被生成最终html页面,就像Part3中一样。 注意任何Django管理站默认模板都可以重写。...自定义管理站点首页 在类似的情况下,您可能想要定制Django管理首页页面。默认情况下,管理站点首页显示所有INSTALLED_APPS内并在admin应用中注册过app,以字母顺序进行排序。

3.6K60

Django基础篇-admin系统

管理站点 创建一个管理员用户 python manage.py createsuperuser 按提示输入用户名、邮箱、密码; 启动服务器,通过“127.0.0.1:8000/admin”访问,输入上面创建用户名...、密码完成登录; 进入管理站点,默认可以对groups、users进行管理。...框架篇-Django博客应用-用户系统 管理界面本地化 编辑 settings.py 文件,设置编码、时区 LANGUAGE_CODE = "zh-Hans" TIME_ZONE = "Asia/Shanghai...刷新管理页面,可以对数据表中数据进行增删改查操作 自定义管理页面 Django 提供了 admin.ModelAdmin 类 通过定义 ModelAdmin 子类,来定义模型在 Admin 界面的显示方式...①列表页属性 list_display:显示字段,可以点击头进行排序 list_filter:过滤字段,过滤框会出现在右侧 search_fields:搜索字段,搜索框会出现在上侧 list_per_page

56120

测试开发进阶(二十二)

,需要在当前应用下models.py文件中定义 一个数据库模型类相当于一个数据表(Table) 一个数据库模型类需要基础Model或者其子类 定义一个类属性,就相当于数据库表中一个字段( first_name..., last_name) 默认会创建一个自动递增id主键 默认创建数据库名为:应用名小写_数据库模型类小写 修改数据库远程连接权限 GRANT ALL PRIVILEGES ON * . * TO...字段 max_length 最大长度 unique 设置当前参数唯一 verbose_name 设置人性化字段名 help_text 用于API文档中中文名 null 允许为空 black 设置前端可以不传递...修改数据表名称 在 Projects类中添加 db_table表名 verbose_name:在admin站点中人性化展示 verbose_name_plural:复数显示(对照英文在单词后面+s) class...修改展示部分 fields 指定在修改「新增」中需要显示字段 list_display 指定要列出字段 from django.contrib import admin from .models

63230

【愚公系列】2021年12月 Python教学课程 34-Django框架之站点管理

文章目录 前言 Django admin管理站点 一、站点管理 1.管理界面本地化 2.创建管理员 3.注册模型类 4.发布内容到数据库 ---- 前言 Django admin管理站点 为工作人员或客户生成管理...、添加、更改和删除内容管理站点是一项单调乏味工作,不需要太多创造性。...为此,Django完全自动化模型创建管理界面。 Django编辑环境,将“内容发布”和“展现”网站非常明确分离开。...一、站点管理 站点: 分为内容发布和公共访问两部分 内容发布部分由网站管理员负责查看、添加、修改、删除数据 Django能够根据定义模型类自动地生成管理模块 使用Django管理模块, 需要按照如下步骤操作...models.Model): # 创建字段字段类型...

50840

Django 1.10中文文档-第一个应用Part2-模型和管理站

它是一个用模块级别变量表示Django配置普通Python模块。 Django默认数据库是SQLite。如果你是数据库初学者,或者你只是想要试用一下Django,SQLite是最简单选择。...每个字段由Field类实例表示,例如,字符串类型字段CharField和数据时间类型DateTimeField。这告诉Django每个字段持有什么类型数据。...Django admin管理站点介绍 为您员工或客户生成管理网站用来添加,更改和删除内容是繁琐工作,不需要太多创造力。因此,Django完全自动创建模型管理界面。...启动开发服务器 Django管理站点是默认启用。...每一种类型字段Django管理站点都知道如何显示它们; 每个DateTimeField字段都会有个方便JavaScript快捷方式。

2.3K60

【愚公系列】2021年12月 Python教学课程 39-Django框架之App应用配置

在创建应用时,Django会向apps.py文件中写入一个该应用配置类,如 from django.apps import AppConfig class BookConfig(AppConfig...AppConfig.verbose_name属性用于设置该应用直观可读名字,此名字在Django提供Admin管理站点中会显示,如 from django.apps import AppConfig...', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', '...1.app应用 (application)就是应用作用,当我们项目足够大时候,例如路由或者静态文件、模板文件都写在一起,比较臃肿,因此我们将功能单独分成多个app进行开发。...Django本身是鼓励开发者进行相对独立项目开发,因此我们建议以后使用app进行开发。

31630

美多商城项目(十)

3.Xadmin Xadmin是Django第三方扩展,比Django自带admin站点使用方便。我们可以使用此管理站点进行网站管理。...list_display 控制列表展示字段 ? search_fields 控制可以通过搜索框搜索字段名称,xadmin使用是模糊查询 ? list_filter 可以进行过滤操作 ?...在Django原生admin站点中,如果想要在站点保存或删除数据时,补充自定义行为,可以重写如下方法: save_model(self,request,obj,form,change) delete_model...在产品运营平台中,是需要对用户进行权限控制Django实现了用户权限控制。 1.消费者用户与公司内部运营用户使用一个用户数据库来存储。...5.对于权限Django会为每个数据库表提供增、删、改、查四种权限。 6.用户最终权限为 组权限 + 用户特有权限。 ? 5.部署 ?

1.6K10

python Django 管理站点1.3

为此,Django会根据定义模型类完全自动地生成管理模块 使用django管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...,通过“127.0.0.1:8000/admin”访问,输入上面创建用户名、密码完成登录 进入管理站点,默认可以对groups、users进行管理 管理界面本地化 编辑settings.py文件,设置编码...Django提供了admin.ModelAdmin类 通过定义ModelAdmin子类,来定义模型在Admin界面的显示方式 class QuestionAdmin(admin.ModelAdmin...): ... admin.site.register(Question, QuestionAdmin) 列表页属性 list_display:显示字段,可以点击头进行排序 list_display...= ['pk', 'btitle', 'bpub_date'] list_filter:过滤字段,过滤框会出现在右侧 list_filter = ['btitle'] search_fields:搜索字段

47620

Django 定义模型2.1

定义模型 在模型中定义属性,会生成表中字段 django根据属性类型确定以下信息: 当前选择数据库支持字段类型 渲染管理表单时使用默认html控件 在管理站点最低限度验证 django...会为表增加自动增长主键,每个模型只能有一个主键,如果使用选项设置某属性为主键后,则django不会再生成默认主键 属性命名限制 不能是python保留关键字 由于django查询方式...,不允许使用连续下划线 定义属性 定义属性时,需要字段类型 字段类型被定义在django.db.models.fields目录下,为了方便使用,被导入到django.db.models中 使用方式...导入from django.db import models 通过models.Field创建字段类型对象,赋值给属性 对于重要数据都做逻辑删除,不做物理删除,实现方法是定义isDelete属性,类型为...,确保它是个有效image 字段选项 通过字段选项,可以实现对字段约束 在字段对象时通过关键字参数指定 null:如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False

1.2K30

Django教程 —— 模型类详解

: 当前选择数据库支持字段类型 渲染管理表单时使用默认html控件 在管理站点最低限度验证 Django 会为表创建自动增长主键,每个模型只能有一个主键,如果使用选项设置某属性为主键后...Django 不会再创建自动增长主键。...默认创建主键属性为 id,可以使用 pk 代替,pk 全拼为 primary key。 注意:pk是主键别名,若主键名为id2,那么pk是id2别名。...定义属性时需要指定字段类型,通过字段类型参数指定选项,语法如下: 属性 = models.字段类型(选项) 模型类字段类型 使用时需要引入django.db.models 包 from django.db...import models 字段类型如下: AutoField 自动增长 IntegerField,通常不用指定,不指定时Django会自动创建属性名为id自动增长属性。

1.7K20

Django管理应用程序高级配置在BookInstance模型运用【Django

Django管理应用程序 Django管理应用程序可以使用模型自动构建可用于创建、查看、更新和删除记录站点区域。这可以在开发过程中节省大量时间,使测试模型和查看是否有正确数据变得容易。...Django项目只建议用于内部数据管理(也就是说,仅适用于组织管理员或内部人员),因为以模型为中心方法不一定是所有用户最佳界面,并且暴露了许多关于模型不必要细节。...为了查看和创建记录,我们还需要用户拥有所有对象记录。可以创建一个“超级用户”帐户,该帐户具有对网站完全访问权限和使用manage.py所需所有权限 调用下一个命令。...python3 manage.py runserver 高级配置 Django使用注册模型信息创建基本管理站点: 每个模型都有一个单独记录列表,由__ str__()方法创建并链接到详细视图/表单以进行编辑字符串...,我们无法直接指定列表_显示中基因字段,因为它是一个ManyToManyField(Django可以防止这种情况,因为这样做会产生大量数据库访问“成本”)。

1.7K20

Hcode网站搭建日记(三)django数据库模型类与后台管理admin

每一个字段都是Field类一个实例,例如用于保存字符数据CharField和用于保存时间类型DateTimeField,它们告诉Django每一个字段保存数据类型。...其中max_length定义字符类型最大长度,null 和 blank定义字段是否可为空,default定义字段默认值。 三、启用模型 为了将模型应用到数据库中,我们需要在终端执行以下命令。...OK 我们打开数据库,发现数据库中多了刚刚创建表和一些Django默认表,创建成功。 四、admin后台管理站点 光定义好数据表模型还是不够。如果只是用sql语句来操作数据库,会有很多不便之处。...所以我们需要给后台管理人员提供相应管理界面。Django最大优点之一,就是体贴为你提供了一个基于项目model创建一个后台管理站点admin。可以方便对数据表进行增删改查操作。...注意:超级用户密码要求具备一定复杂性,如果密码强度不够,Django会提示你,但是可以强制通过。 2.

61630

django 1.8 官方文档翻译: 2-5-6 多数据库

定义你数据库 在Django中使用多个数据库第一步是告诉Django 你将要使用数据库服务器。这通过使用DATABASES 设置完成。..._db) return qs Django 管理站点中使用多数据库 Django 管理站点没有对多数据库任何显式支持。...如果你给数据库上某个模型提供管理站点不想通过你路由链指定,你将需要编写自定义ModelAdmin类用来将管理站点导向一个特殊数据库。...MultiDBTabularInline, self).formfield_for_manytomany(db_field, request=request, using=self.using, **kwargs) 一旦你写好你模型管理站定义...如果你正在使用Postgres、Oracle或者MySQ InnoDB,这是数据库完整性级别的强制要求 —— 数据库级别的主键约束防止创建不能验证合法性关联。

1.5K20

django_2

·渲染管理表单时使用默认html控件 ·在管理站点最低限度验证 ·django会为表增加自动增长主键,每个模型只能有一个主键, 如果使用选项设置某属性为主键后,...则django不会再生成默认主键 ·属性命名限制 ·遵循标识符规则 ·由于django查询方式,不允许使用连续下划线 库 ·定义属性时,需要字段类型,字段类型被定义在...html控件 ·在管理站点最低限度验证 ·django会为表增加自动增长主键,每个模型只能有一个主键, 如果使用选项设置某属性为主键后, 则django不会再生成默认主键...·属性命名限制 ·遵循标识符规则 ·由于django查询方式,不允许使用连续下划线 库 ·定义属性时,需要字段类型,字段类型被定义在 django.db.models.fields...目录下,为了方便使用, 被导入到django.db.models中 ·使用方式 ·导入from django.db import models ·通过models.Field创建字段类型对象

3.6K30

定义数据库模型

一、属性说明 说明 django根据属性类型确定以下信息 当前选择数据库支持字段类型 渲染管理表单时使用默认html控件 在管理站点最低限度验证 自增长主键 django会为表增加自动增长主键...,每个模型只能有一个主键,如果使用选项设置某属性为主键后,则django不会再生成默认主键 属性命名限制 不能是python保留关键字 由于django查询方式,不允许使用连续下划线...库 定义属性时,需要字段类型,字段类型被定义在django.db.models.fields目录下,为了方便使用,被导入到django.db.models中 逻辑删除 对于重要数据都做逻辑删除...,确保它是个有效image upload_to = “” 上传文件保存路径storage = None存储组件,默认 字段选项 通过字段选项,可以实现对字段约束,在字段对象时通过关键字参数指定...注意:排序会增加数据库负担 三、objects 概念 是Manager类型对象,用于与数据库进行交互 当定义模型时没有指定管理器对象,则Django会为模型类提供一个名为objects管理器

54020

37.Django1.11.6文档

Django管理站点是用Django自己制作出来,它界面代码使用Django自己模板系统。...如果你已经排除某些模型字段,这些字段不会运行验证 模型error_message注意事项 form field级别或form Meta级别的错误信息永远比model field级别的错误信息优先。...例如这可以用于在CSS 文件中设置宽度。 Django 会尝试以下面的顺序解释list_display 每个元素︰ 模型字段。 可调用对象。...将其设置为要将其转换为链接字段列表或元组(格式与list_display相同)。 您可以指定一个或多个字段。 ...相同URLconf 中多个管理站点 在同一个Django供电网站上创建管理站多个实例很容易。 只需要创建AdminSite 多个实例并将每个实例放置在不同URL 下。

24.3K80

django 1.8 官方文档翻译:2-1-1 模型语法

每个字段都被指定成一个类属性,每个属性映射到一个数据库。...Django 根据字段类型确定以下信息: 数据库当中类型 (比如, INTEGER, VARCHAR)。...如果你想指定一个自定义主键字段,只要在某个字段上指定 primary_key=True 即可。如果 Django 看到你显式地设置了 Field.primary_key,就不会自动添加 id 。...自定义字段类型 如果已有的模型字段都不合适,或者你想用到一些很少见数据库类型优点,你可以创建你自己字段类型。创建你自己字段在编写自定义模型字段中有完整讲述。...get_absolute_url() 它告诉Django 如何计算一个对象URL。Django 在它管理站点中使用到这个方法,在其它任何需要计算一个对象URL 时也将用到。

4.9K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券