django框架自定义用户表操作示例

yipeiwu_com4年前Python基础

本文实例讲述了django框架自定义用户表操作。分享给大家供大家参考,具体如下:

django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求。

但有时候,我们需要更多的字段,我们就可以自定义。来替换django自带的User表。

models.py

from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):
  nick_name = models.CharField(max_length=50, verbose_name=u'昵称')
  birthday = models.DateField(verbose_name=u'生日', null=True, blank=True)
  gender = models.CharField(max_length=10, choices=(("male", u'男'), ("female", u'女')), default='female')
  address = models.CharField(max_length=11, verbose_name=u'地址', null=True, blank=True)
  image = models.ImageField(upload_to='image/%Y/%m', default=u"image/default.png", max_length=100)
  phone = models.CharField(max_length=11, verbose_name=u"手机号码", null=True, blank=True)
  # image依赖Pillow
  class Meta:
    verbose_name = u"用户信息"
    verbose_name_plural = verbose_name
  def __unicode__(self):
    return self.username

adminx.py

from xadmin.plugins.auth import UserAdmin
class UserProfileAdmin(UserAdmin):
  pass

settings.py

INSTALLED_APPS = [
  ...
  'users',
  ....
]
AUTH_USER_MODEL="users.UserProfile"

然后就可以makemigrations,migrate

然后就可以创建超级用户。如果之前创建过,会被删除,需要重新创建。

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

相关文章

使用OpCode绕过Python沙箱的方法详解

0x01 OpCode opcode又称为操作码,是将python源代码进行编译之后的结果,python虚拟机无法直接执行human-readable的源代码,因此python编译器第...

元组列表字典(莫烦python基础)

Tuple 叫做 tuple,用小括号、或者无括号来表述,是一连串有顺序的数字。 a_tuple = (12, 3, 5, 15 , 6) another_tuple = 12,...

python3实现点餐系统

本文实例为大家分享了python3实现点餐系统的具体代码,供大家参考,具体内容如下 题目:     某餐厅外卖每天更新菜品,但是搭配价格是不变的,具体如下: &nbs...

web.py在模板中输出美元符号的方法

web.py在模板中输出美元符号的方法

由于web.py已经在模板中定义“$”符号位定界符,所以在模板中如果要使用美元符号需要特殊处理。 如我要在模板中输出“$name”字符串: 复制代码 代码如下: $name 报错 $...

python+matplotlib绘制旋转椭圆实例代码

python+matplotlib绘制旋转椭圆实例代码

旋转椭圆 实例代码: import matplotlib.pyplot as plt import numpy as np from matplotlib.patches impo...