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

yipeiwu_com7年前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的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享

分享一下刚遇到的一个小问题,我有一段类似于这样的python代码: 复制代码 代码如下: # coding: utf-8 class A(object):   &nb...

python随机生成库faker库api实例详解

废话不多说,直接上代码! # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/6/30 9:49 from fake...

Python pandas用法最全整理

1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as npimport pandas as pd 2、导入CSV或者xlsx文...

Python的gevent框架的入门教程

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本...

python处理大日志文件

本文实例为大家分享了python处理大日志文件的具体代码,供大家参考,具体内容如下 # coding=utf-8 import sys import time class Ta...