Django打造在线教育平台_day_2:新建users app 编写models之扩展user表
Posted 起航追梦人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django打造在线教育平台_day_2:新建users app 编写models之扩展user表相关的知识,希望对你有一定的参考价值。
1、使用pycharm创建app,Tools 工具栏运行 run manage.py Task,输入:
startapp users
2、查看django生成的默认的users表auth_user,看字段能否满足需要的,不能就在users/models.py中编写models自定义user表继承auth_user的字段。
from django.db import models # AbstractUser包含的Django默认生成的user字段 from django.contrib.auth.models import AbstractUser # Create your models here. class UserProfile(AbstractUser): """继承AbstractUser类,自字义新类添加数据库字段""" # default=\'\'默认为空 nick_name = models.CharField(max_length=50, verbose_name=u\'昵称\', default=\'\') # null=True, blank=True允许用户不填写 birday = models.DateField(verbose_name=u\'生日\', null=True, blank=True) # choices属性, 提供被选数据,这里性别只有男和女 gender = models.CharField(max_length=5, choices=((\'male\',\'男\'), (\'female\', \'女\')), default=\'female\', verbose_name=u\'性别\') #性别 address = models.CharField(max_length=100, default=u\'\', verbose_name=u\'地址\') mobile = models.CharField(max_length=11, null=True, blank=True, verbose_name=u\'手机号\') # upload_to指定头像上传文件夹 image = models.ImageField(upload_to=\'image/%Y/%m\', default=u\'image/default.png\', verbose_name=u\'头像\',max_length=100) class Meta: verbose_name = r\'用户信息\' #别称 verbose_name_plural = verbose_name #单数别称 def __str__(self): """重载函数,使自定义字符串能打印""" return self.username
3、在MxOnline/settings.py中注册app和重载方法
# Application definition INSTALLED_APPS = [ \'django.contrib.admin\', \'django.contrib.auth\', \'django.contrib.contenttypes\', \'django.contrib.sessions\', \'django.contrib.messages\', \'django.contrib.staticfiles\', \'users\', # 注册App ] # 重载AUTH_USER_MODEL方法,app名称+自定义models类名 AUTH_USER_MODEL = \'users.UserProfile\'
4、cmd安装Pillow图片处理模块(原因是我们处自义类中用到了ImageField):
pip install pillow
5、生成新定义的users表,Tools 工具栏运行 run manage.py Task输入:
makemigrations users
migrate users
yes
#查看数据库表格输入users_userprofile创建成功
6、运行项目
以上是关于Django打造在线教育平台_day_2:新建users app 编写models之扩展user表的主要内容,如果未能解决你的问题,请参考以下文章
Django打造在线教育平台_day_3: 搭建后台管理系统Django自带的admin
Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin