django User的擴展

django1.9 + python2.7python

方法一:繼承User 首先,須要清除 開始數據庫同步時生成的文件 須要在app中的model.py添加 0001_initial.py該文件在 app目錄下migrations目錄中 刪除原來的數據庫文件db.sqlite3在項目工程目錄下sql

進入項目工程目錄執行 python manage.py makemigrations python manage.py migrate from django.db import models from django.contrib.auth.models import AbstractUser class User(AbstractUser): address = models.CharField(max_length=100) ##添加address字段 在admin.py中引入,註冊到admin中 from myapp.models import User myapp是app名稱根據本身實際寫 from . import models admin.site.register(models.User)須要從新註冊 向項目註冊在setting.py中的 INSTALLED_APPS列表中添加 'myapp', 並添加數據庫

https://docs.djangoproject.com/en/1.9/topics/i18n/

AUTH_USER_MODEL = 'myapp.User' 登陸頁面後發現沒有User這一項了,由於一開始我沒有作註冊 from myapp.models import User admin.site.register(User)須要從新註冊 如今問題是密碼是明文的,後來通過分析,這是正常的,繼承User類後須要從新寫或者修改頁面模板,具體的我也沒有作,實用程序建立的用戶沒有密碼的問題django

方法二:擴展 AbstractBaseUser類 AbstractBaseUser中只含有3個field: password, last_login和is_active. 若是你對django user model默認的first_name, last_name不滿意, 或者只想保留默認的密碼儲存方式, 則能夠選擇這一方式.app

方法三:OneToOne有待驗證python2.7

相關文章
相關標籤/搜索