chevron_left

Django 开发教程

免费
第 9.3 回

教程文档

Django 开发教程 - 自定义用户模型

2023年11月23日
Django 开发教程

自定义用户模型

除了使用一对一扩展用户模型外,可以自定义用户模型,来取代 Django 自带的 User 模型。

但是需要注意的是,这种方法适合于新项目。如果是已经存入了不少数据的项目,需要人工迁移表中的数据,比较费劲。

新建 users 子应用

python manage.py startapp users

定义 User 模型

只需要让自定义的 User 模型,继承与 Django 的 AbstractUser 模型即可。 然后我们添加了一个 mobile 字段,用于保存用户的电话号码。

users/models.py中

from django.db import models

from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    mobile = models.CharField(max_length=11, unique=True, verbose_name='手机号')

    class Meta:
 ...

课程介绍

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。2019 年 12 月 2 日,Django 3. 0 发布。

Django 是高水准的 Python 编程语言驱动的一个开源模型.视图,控制器风格的 Web 应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是 OpenStack 的 Horizon 组件采用这种架构进行设计的主要原因。另外,在 Django 框架中,还包含许多功能强大的第三方插件,使得 Django 具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

  • 用于创建模型的对象关系映射;
  • 为最终用户设计较好的管理界面;
  • URL 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

目录

适合这样的人

新手