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

Django Admin后台管理:高效开发与实践

2章:深入Django Admin 2.1 Admin界面定制 Django Admin提供了丰富定制选项,允许开发者根据项目需求调整界面。...2.4 列表页面的优化 自定义列表视图:使用list_display来控制列表页面显示字段list_filter来添加过滤器,ordering来设置默认排序。...用户模型:Django提供了一个默认用户模型,包含用户名、密码和电子邮件等字段。 3.2 用户、组和权限管理 用户管理:在Django Admin中,可以创建、编辑和删除用户。...复合索引:对于涉及多个字段查询,可以创建复合索引来优化性能。 4.4 使用第三方库进行数据分析 Pandas:Pandas是一个强大数据分析库,可以与Django结合使用来处理和分析数据。...(admin.ModelAdmin): list_display = ['name', 'created_at', 'is_active'] list_filter = ['is_active

9410

Django+xadmin打造在线教育平台(二)

django2 把zip文件放到pip目录下,运行下面命令安装: pip install xadmin-django2 是文件README.rst 出现了 Unicode 解码错误,这个文件是没有什么用处...: 更换安装源(使用豆瓣源) 安装xadmin命令如下: pip install -i https://pypi.douban.com/simple xadmin-django2 安装成功后,同时也安装了很多依赖包...input_html[1]就是报错代码,因为input_html里只有一个元素。 解决办法: 既然“\n”不能拆分标签,那么就换一种拆分方式,使用“/><”拆分。...(2)全局配置  修改django admin 和下面的我公司收起菜单 # 全局修改,固定写法 class GlobalSettings(object): # 修改title site_title...= getattr(user, 'is_active', None) return is_active or is_active is None def _get_user_permissions

6.9K80
您找到你想要的搜索结果了吗?
是的
没有找到

重写djangomodel下objects模型管理器方式

django自定义管理器和model继承 在我写代码时建立很多数据库需要一些共同字段,比如is_active, create_time这些字段,所以可以建立一个基类model 模型继承 我们可以充分利用...,我们很多地方可以用继承框架已有的类并重写类中方法,是我们代码更加pythonic 补充知识:DjangoModel中字段属性和选项 字段类型: autoField:一个根据实际ID自动增长...写日历控件,和一个“Today”快捷按钮,包含了一个额外 invalid_date错误消息键 注意 auto_now_add, auto_now, and default 这些设置是相互排斥...,确保它是一个有效image 字段选项 概述:通过字段选项,可以实现对字段约束, 在字段对象中通过关键字参数指定 null:如果为True,Django将空以NULL存储在数据库中,默认为False...db_index:若为 True,则在表中会为此字段创建索引 default: 默认 primary_key: 若为 True,则该字段会成为模型主键字段 unique:如果为 True,这个字段在表中必须有唯一

1.5K40

Django使用自己用户系统

用过django的人应该都会知道admin,不过,需求是多变,比如,你有一个变态用户系统,用户可能有大中小三张头像,除了fisrt name ,last name外还有middle name,T^T...name巴拉巴拉,django 用户系统可能满足不了你需求,这时候需要用自己用户系统了,如何能在满足需求时候充分又利用到django用户系统?...django使用自己用户系统 step-1 写自己auth模块(定义user class) step-2 admin.py 注册到djangoadmin后台,并且修改一些field step-3...不过,需求是多变,比如,你有一个变态用户系统,用户可能有大中小三张头像, 除了fisrt name ,last name外还有middle name,T^T name巴拉巴拉,django 用户系统可能满足不了你需求...源码可以看到,很多地方直接使用了配置AUTH_USER_MODEL user = models.ForeignKey(settings.AUTH_USER_MODEL) def get_user_model

61820

自定义 DjangoUser Model,扩展 AbstractUser类注意事项

或者我们django项目中希望不同用户拥有不同field, 有些用户则需要不同field组合, 且我们使用了方法1或方法2: # profiles/models.py from...例如,在某些网站上使用邮件地址不是用户名作为身份标识可能更合理。...1.修改配置文件,覆盖默认User模型 Django允许你通过修改setting.py文件中 AUTH_USER_MODEL 设置覆盖默认User模型,其引用一个自定义模型。...app中第一个迁移文件中被创建(通常命名为 0001_initial),否则你会碰到错误。...3.指定自定义用户模型 3.1 Django 期望你自定义 User model 满足一些最低要求: 模型必须有一个唯一字段可被用于识别目的。

6K20

使用 Django admin 定制后台,丰富自己网站后台管理系统

使用 xadmin Django 自身带有一个功能强大后台管理系统,这算是 Django 与其他 Python web 框架相比最大一个优势吧!...(这里是 Author) 创建一个模型管理类,继承 admin.ModelAdmin,这个类参数后面详细介绍 注册模型管理类 使用装饰器来注册 其实上面的过程可以把第2、3步结合起来,在创建模型管理类同时注册类...不设置这个字段时候默认是第一个字段添加 标签。...list_filter 属性是过滤器,可以用来筛选,设置了这个之后可以在后台侧边栏看到可以用来筛选字段列表,效果如图所示: filter_horizontal 这个属性非常有用,它可以给模型中多选字段添加左右选框...,这个函数返回模型一个字段一部分内容。

2.9K10

django 关于User模型

is_active:是否是可用。对于一些想要删除账号数据,我们设置这个为False就可以了,不是真正从数据库中删除。 is_superuser:是否是超级管理员。...并且还写了一个接受保存模型信号处理方法,只要是User调用了save方法,那么就会创建一个UserExtension和User进行绑定。 3....,就可以根据telephone来验证 # 不是原来username USERNAME_FIELD = 'telephone' REQUIRED_FIELDS = []...# 重新定义Manager对象,在创建user时候使用telephone和 # password,不是使用username和password objects = UserManager...is_active一个布尔,用于标识用户当前是否可用。 get_full_name():获取完整名字。 get_short_name():一个比较简短用户名。

1.1K30

CRM客户关系管理系统(十三) 第十三章、用户自定义认证第十四章、万能通用权限框架设计

第十三章、用户自定义认证 13.1.用户自定义认证 class Meta:              abstract = True   (不会创建表,只把字段继承给子类) django加密方式:md5...(2)kingadmin/permissions # kingadmin/permissions.py # from django.core.urlresolvers import resolve from...args_matched = True #匹配有特定参数 kwargs_matched = False...及对应 参数值, 比如,需要request 对象里必须有一个叫 user_id=3参数 kwargs_matched = True...现在销售就只能看到自己创建客户了 ? ? 这样,万通通用权限框架就开发完毕了,权限控制可大可小,而且想要移植到其它django项目时, 唯一需要改,就是配置好perm_dic里权限条目!

1.1K00

35.Django2.0文档

如果只想在上级代码块基础上添加内容,不是全部重载,该变量就显得非常有用了。 不允许在同一个模板中定义多个同名 {% block %} 。...我们可以对任意字段进行排序,如果需要以多个字段为标准进行排序(第二个字段会在第一个字段相同情况下被使用到),使用多个参数就可以了,如下: ?...,作者邮箱地址允许输入一个  4.自定义字段标签      在编辑页面中,每个字段标签都是从模块字段名称生成。...也就是说,这些修改实质上是构成模块一部分,并且正好被管理工具使用,不是专门针对管理工具。 除了这些,Django还提供了大量选项让你针对特别的模块自定义管理工具。...它从可用年份开始,然后逐层细分到月乃至日。 ? 请注意,date_hierarchy接受是* 字符串* ,不是元组。因为只能对一个日期型字段进行层次划分。

11.3K100

Django2.0中文(admin)

1 创建超级用户 python manage.py createsuperuser 2 urls.py: admin/ include(admin.site.urls) 3 注册管理models...它像filter_horizontal那样工作,除了控件都是垂直排列,不是水平排列。 至于使用哪个,只是个人喜好问题。...///filter_horizontal和filter_vertical选项只能用在多对多字段 上, 不能用于 ForeignKey字段。 默认地,管理工具使用下拉框 来展现外键 字段。...但是,正如多对多字段 那样,有时候你不想忍受因装载并显示这些选项产生大量开销。...例如,我们book数据库膨胀到拥有数千条publishers记录,以致于book添加页面装载时间较久,因为它必须把每一个publishe都装载并显示在下拉框 中 9 ForeignKey:用raw_id_fields

43220

python Django 管理站点1.3

服务器 运行如下命令可以开启服务器 python manage.py runserver ip:port 可以不写ip,默认端口为8000 这是一个纯python编写轻量级web服务器,仅在开发阶段使用...为此,Django会根据定义模型类完全自动地生成管理模块 使用django管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...BookInfo数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面...= ['pk', 'btitle', 'bpub_date'] list_filter:过滤字段,过滤框会出现在右侧 list_filter = ['btitle'] search_fields:搜索字段...(admin.TabularInline) 布尔显示 发布性别的显示不是一个直观结果,可以使用方法进行封装 def gender(self): if self.hgender:

48720

Web | Django 与数据库交互,你需要知道 9 个技巧

M2M 模型中一个常见模式是在两个字段一起作为一个唯一约束。...并不是,数据库为特定用例提供其他类型索引也蛮多。 从 Django 1.11 开始,有一个 Meta 选项用于在模型上创建索引。这给了我们探索其他类型索引机会。...假设我们在一列中有这些,每一个都是一个块: 1, 2, 3, 4, 5, 6, 7, 8, 9 我们为每三个相邻块创建一个范围: [1,2,3], [4,5,6], [7,8,9] 对于每个范围,我们将保存范围内最小和最大...再举一个例子,这次列中不会被很好地排序: [2–9], [1–7], [3–8] 再试着查找 5: [2–9] — 可能在这里 [1–7] — 可能在这里 [3–8] — 可能在这里 索引是无用...,我创建了一个2M 行表,并在磁盘上自然排序了日期字段: B-Tree 索引:37 MB BRIN 索引:49 KB 没错,你没看错。

2.8K40

Django学习笔记之Queryset详解

manager类,不是自定义QuerySet类,一般我们没有自定义QuerySet类必要;django.db.models模块中Model类,我们定义表model时,就是继承它,它功能很强大...只返回主表(即Author表)所有字段,即使在查询时关联了其它表,关联表字段也不会返回,只有当我们通过Author instance用关联表时,Django才会再次查询数据库获取值。...values_list()跟values()相似,它返回一个ValuesListQuerySet,也类型于一个列表,不过它元素不是字典,而是元组。...是要求每个元素不是元组,而是单个,见下面例子。...提供方法就够用了,不过有时where子句中包含复杂逻辑,这种情况下django提供方法可能不容易做到,还好,django有extra(), extra()中直接写一些SQL语句。

2.7K30

Django auth组件

目录 一.认证系统 二.用户对象 1.创建用户 2.用户认证 4.注销用户 5.判断用户是否登录 6.登录认证装饰器 7.创建普通用户和超级用户 8.校验密码 9.修改密码 10.is_staff和is_active...Django认证系统主要包含: 1.用户 2.许可 3.组 4.可配置密码哈希系统 5.用于用户登录或者限制访问表单和视图工具 6.可插拔后台系统...二.用户对象 用户对象是Django认证系统核心,需要导入auth模块,该模块存在于django.contrib下 from django.contrib import auth Django认证框架只有一个用户模型...正确返回true,错误false。...三.扩展默认auth_user表 虽然内置认证系统很好用,但是auth_user表字段只有固定几个,实际应用中需要字段更多,所以需要对默认auth_user表进行扩展,第一时间想到方法是新建另外一张表通过一对一和内置

92040

Django权限系统auth模块详解

对象,以及一个认证了User对象 此函数使用djangosession框架给某个已认证用户附加上session id等信息。...该函数接受一个HttpRequest对象,无返回。当调用该函数时,当前请求session信息会全部清除。该用户即使没有登录,使用该函数也不会报错。...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' (这个可以在settings文件中通过LOGIN_URL进行修改)。...is_active 布尔。指示用户账号是否激活。 is_superuser 布尔。只是这个用户拥有所有的权限不需要给他们分配明确权限。...User对象中有一个名为groups多对多字段, 多对多关系由auth_user_groups数据表维护。Group对象可以通过user_set反向查询用户组中用户。

1.6K20

Django学习笔记 1.7 自定义 admin 站点

当我们拥有数十个字段表单,我们肯定会期望将表单分为几个字段集,这样会更清晰一点: from django.contrib import admin from .models import Question...默认提供 3 个足够选项字段。” 3 自定义后台更改列表 3.1 显示列表 默认情况下,Django 显示每个对象 str() 返回。但有时如果我们能够显示单个字段,它会更有帮助。...为此,使用 list_display 后台选项,它是一个包含要显示字段元组,在更改列表页中以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):...将以下代码添加至 QuestionAdmin: list_filter = ['pub_date'] 这样做添加了一个“过滤器”侧边栏,允许人们以 pub_date 字段来过滤列表: 3.3 搜索框 让我们再扩充些功能...你可以使用任意多字段——由于后台使用 LIKE 来查询数据,将待搜索字段数限制为一个不会出问题大小,会便于数据库进行查询操作。 END ----

98920
领券