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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

Python 互换字典的键值对实例

1.zip dic = {'a':1, 'b':2, 'c':3} dic_new = dict(zip(dic.values(), dic.keys())) print(dic_n...

这可能是最好玩的python GUI入门实例(推荐)

这可能是最好玩的python GUI入门实例(推荐)

简单的说,GUI编程就是给程序加上图形化界面. python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱. 如果给程序加一...

Linux下使用python自动修改本机网关代码分享

#!/usr/bin/python #auto change gateway Created By mickelfeng import os import random,re g='...

Python Pandas数据中对时间的操作

Python Pandas数据中对时间的操作

Pandas中对 时间 这个属性的处理有非常非常多的操作。 而本文对其中一个大家可能比较陌生的方法进行讲解。其他的我会陆续上传。 应用情景是这样的:考虑到有一个数据集,数据集中有用户注...

python实现随机漫步算法

本文实例为大家分享了python实现随机漫步的具体代码,供大家参考,具体内容如下 编写randomwalk类 from random import choice class ra...