博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
06.Django中用户的两种扩展方式(Profile和AbstractUser)
阅读量:5916 次
发布时间:2019-06-19

本文共 2140 字,大约阅读时间需要 7 分钟。

1:profile扩展
正常建立一个项目:
python-admin.py startproject myweb
建立子项目
manage.py startapp user
子项目配置如下:
models.py
from django.db import models from django.contrib.auth.models import User                    #导入admin的User from django.db.models.signals import post_save # Create your models here. class UserProfile(models.Model):     user = models.OneToOneField(User)     description = models.TextField(max_length=51200)     scope = models.IntegerField(default=100)
admin.py
#coding:utf-8 from django.contrib import admin from django.contrib.auth.models import User from login.models import UserProfile # Register your models here. class ProfileInline(admin.StackedInline):  #将UserProfile加入到Admin的user表中     model = UserProfile     verbose_name = 'profile' class UserProfileAdmin(admin.ModelAdmin):     inlines = (ProfileInline,) admin.site.unregister(User)  #去掉在admin中的注册 admin.site.register(User, UserProfileAdmin)  #用userProfileAdmin注册user
views.py
from django.shortcuts import render from django.http import HttpResponse from django.contrib.auth.models import User from login.models import UserProfile # Create your views here. def userDemo(request):     desc = User.objects.all()[0] return HttpResponse(desc)
配置URL:
myweb目录下的url:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [     url(r'^admin/', include(admin.site.urls)), url(r'^login/', include('login.urls')) ]
赋值一份urls.py 到user的目录下,修改urlpatterns 如下:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [     url(r'^login/$', 'login.views.userDemo') ]
数据库的同步:
makemigrations
migrate
syncdb
后台登陆查看
二:继承AbstractUser
新建一个项目如Profile所示
myweb修改添加如下语句:
AUTH_USER_MODEL = 'login.User'
login中:
models.py
from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class User(AbstractUser):     #继承AbstractUser desc = models.TextField()
admin.py
#coding:utf-8 from django.contrib import admin # Register your models here. from login.models import User admin.site.register(User)
其余的URL配置  ,views.py配置和settings.py的部分配置同profile的配置方式
数据库的同步:
makemigrations
migrate
syncdb
后台登陆即可

转载地址:http://zgwvx.baihongyu.com/

你可能感兴趣的文章
CodeIgniter的密码处理论
查看>>
深入Mysql - 谈谈我对数据类型的认识
查看>>
Tsuru 1.7.0-rc4 发布,基于 Docker 的 PaaS 框架
查看>>
Apache HBase 2.1.3 发布,分布式数据库
查看>>
微信端H5开发整体解决方案
查看>>
Python之retrying
查看>>
OWASP 10 大 Web 安全问题在 JEE 体系完全失控
查看>>
洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏
查看>>
如何理解Unity组件化开发模式
查看>>
util.promisify 的那些事儿
查看>>
未来黑科技公司完成亿元Pre-B轮融资,已和宝马达成合作
查看>>
三篇文章了解 TiDB 技术内幕 - 谈调度
查看>>
【DG】DG的3种保护模式
查看>>
[20150107]关于print_table.txt
查看>>
Chrome 如何知道网站启用了SPDY 协议?
查看>>
8天玩转并行开发——第五天 同步机制(下)
查看>>
一次性关闭所有的Activity
查看>>
运算符 - PHP手册笔记
查看>>
二维数组的认识及其表示元素的两种方式
查看>>
LINUX下DNS的查看和配置
查看>>