当前位置 主页 > 网站技术 > 代码类 >

    django实现用户注册实例讲解

    栏目:代码类 时间:2019-10-30 21:05

    创建一个apps包 专门来放子应用

    创建users子应用 处理用户事务

    追加导包路径

    在settings中用 print(sys.path) 查看现有导包路径

    sys.path.insert(0,'/home/python/oldproject/meiduo/meiduo/apps')

    但是这样过于low 换成下面这样

    sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

    这样就可以简化导包方式

    自定义用户模型类

    django自带的用户模型类User

    #位置 django.contrib.auth.models.User
    #继承自AbstraUser AbstraUser里定义了用户具备的字段 如用户名 密码 邮箱 还封装了校验密码等一系列方法
    class User(AbstractUser):
      """
      Users within the Django authentication system are represented by this
      model.
    
      Username, password and email are required. Other fields are optional.
      """
      class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'

    所以我们要为用户模型类再增加一个手机号码的字段 apps.users.models 中定义

    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:
        db_table = 'tb_users' #自定义表名
        verbose_name = '用户' # 在admin站点管理中显示这个表叫什么
        verbose_name_plural = verbose_name

    由于django有默认使用的用户模型类 'django.conf.global_settings' 中

    AUTH_USER_MODEL = 'auth.User' #这里还是之前未自定义的用户模型类

    我们要重新指定 在settings中

    #AUTH_USER_MODEL = '应用名.模型类名'
    # 指定本项目用户模型类
    AUTH_USER_MODEL = 'users.User'

    定义完模型类之后别忘了创建迁移文件 和执行迁移文件

    命令行中

    python manage.py makemigrations
    python manage.py migrate

    以上就是本次介绍的全部相关知识点实例代码,感谢大家的学习和对IIS7站长之家的支持。