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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • 在Django中URL正则表达式匹配的方法

    Django框架中的URL分发采用正则表达式匹配来进行,以下是正则表达式的基本规则: 官方演示代码: from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r'^articles/([0-9]{4})/$', views.year_archive), url(r'^articles/([0-9]{4})/

  • Django之模型层多表操作的实现

    一.创建模型 1,一对多关系 一本书只有一个出版社,一个出版社可以出版多本书,从而书与出版社之间就构成一对多关系,书是'多'的一方,出版社是'一'的一方,我们在建立模型的时候,把外键写在'多'的一方,即我们要把外键写在book类. class Book(models.Model): name=models.CharField(max_length=15) price=models.IntegerField() publish=models.ForeignKey('Publish',on_dele

  • django 单表操作实例详解

    前面视图层,模板层.路由层都写了大概,项目肯定是会和数据库打交道,那就讲讲orm的单表查询吧,直接写过一点点,不太全面. 1.项目刚创建好,我们需要在settings里配置一下(用mysql数据库),配置好了,再去app文件夹里的__init__配置下,其实在 哪个__init__配置都一样,项目启动时,首先是执行__init__文件.下面直接贴代码了. setting文件里: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my

  • 详解Django model update的各种用法介绍

    Django开发过程中对表(model)的增删改查是最常用的功能之一,本文介绍笔者在使用model update过程中遇到的那些事 [ 运行环境:Django2.0 ] model update常规用法 假如我们的表结构是这样的 class User(models.Model): username = models.CharField(max_length=255, unique=True, verbose_name='用户名') is_active = models.BooleanField(

  • Django-Model数据库操作(增删改查、连表结构)详解

    一.数据库操作 1.创建model表 基本结构 from django.db import models class userinfo(models.Model): #如果没有models.AutoField,默认会创建一个id的自增列 name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField() 更多字段: 1.models.AutoField 自增列= int(11)

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

    本文实例讲述了django框架自定义用户表操作.分享给大家供大家参考,具体如下: django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求. 但有时候,我们需要更多的字段,我们就可以自定义.来替换django自带的User表. models.py from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): nick_name = models.CharField(

  • Django框架自定义session处理操作示例

    本文实例讲述了Django框架自定义session处理操作.分享给大家供大家参考,具体如下: django有自己的一套session框架,有他自己的机制处理,但这通常是在全新构件系统的时候才会用到.如果是一套已有的系统,现在重新想用django做成web版的,由于以往的数据库是已经设计好,不能修改其表结构,但可以增加表,因为用django必须有django自己的一些系统表,这些是必须添加到原有的数据库中的,我们可以通过 mange.py syncdb 来创建. | auth_group | au

  • Django框架使用mysql视图操作示例

    本文实例讲述了Django框架使用mysql视图操作.分享给大家供大家参考,具体如下: 一.Mysql视图的创建 MySQL中,在两个或者以上的基本表上创建视图,例如:在StudentOrm表和InfoOrm表上,创建mysql_view_test_orm视图 1.首先,创建两张表 from django.db import models # Create your models here. class StudentOrm(models.Model): name = models.CharFi

  • Yii2框架自定义验证规则操作示例

    本文实例讲述了Yii2框架自定义验证规则操作.分享给大家供大家参考,具体如下: 废话不多说直接上代码 class AbcModel extends Model { public $aaa; public $bbb; public $bbb; /** * 验证提交的form表单 * * @return array */ public function rules() { return [ // 自定义验证 [['aaa', 'bbb', 'ccc'], 'customValidationCityC

  • Laravel框架自定义分页样式操作示例

    本文实例讲述了Laravel框架自定义分页样式操作.分享给大家供大家参考,具体如下: 操作步骤如下: (1)  对应public/css/paging.css 文件建立分页样式. (2)  控制器查出分页数据使用 paginate函数进行分页处理.(禁止使用group by处理查询). (3) 对应视图引入分页样式. 例如: paging.css 样式文件代码(复制即可用,实际操作过)如下 #pull_right{ text-align:center; } .pull-right { /*flo

  • django框架自定义模板标签(template tag)操作示例

    本文实例讲述了django框架自定义模板标签(template tag)操作.分享给大家供大家参考,具体如下: django 提供了丰富的模板标签(template tag)和过滤器(tempalte filter),但这些并非完全能满足自己的需要,所以django 也提供了自定义模板标签和filter. 自定义这些标签其实很简单,用一个方法举例,今天有一个需要在页面中计算几个数的乘积的需求,比如 订单数量*订单价格*商品折扣. 也许有人会说,可以在view中先计算好,然后再显示在界面上,当然,

  • Django自定义用户表+自定义admin后台中的字段实例

    1.自定义用户表 注意事项 必须在settings中配置AUTH_USER_MODEL这个字段 # 覆盖默认的用户模型,使用自定义用户模型 # 语 法:'app的名称.自定义用户模型的名称' AUTH_USER_MODEL = 'admi.UserModel' 2.在models文件中编写UserModel类 from django.db import models from django.contrib.auth.models import AbstractUser # Django框架将cr

  • Django rest framework如何自定义用户表

    说明 Django 默认的用户表 auth_user 包含 id, password, last_login, is_superuser, username, last_name, email, is_staff, is_active, date_joined, first_name 字段.这些基本字段不够用时,在此基本表上拓展字段是很好选择.本文介绍在 DRF(Django Rest Framework) 上使用自定义用户表进行接口访问控制的功能设计. 1. Django项目和应用创建 先装必

  • Django框架自定义模型管理器与元选项用法分析

    本文实例讲述了Django框架自定义模型管理器与元选项用法.分享给大家供大家参考,具体如下: 自定义模型管理器 每个模型类默认都有一个 objects 类属性,可以把它叫 模型管理器.它由django自动生成,类型为 django.db.models.manager.Manager 可以在模型类中自定义模型管理器,自定义后, Django将不再生成默认的 objects.(模型类可以自定义多个管理器) 例如: class Department(models.Model): # 自定义模型管理器

  • Laravel框架Auth用户认证操作实例分析

    本文实例讲述了Laravel框架Auth用户认证操作.分享给大家供大家参考,具体如下: (1)生成Auth所需文件 打开phpstorm的命令行: php artisan make:auth 生成成功后,打开web.php, 发现多了如下代码: Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); 然后访问 localhost/laravel/public/home就可以看到登录页面, 如果样式不正常

随机推荐