Django使用Profile擴(kuò)展User模塊方式
首先創(chuàng)建Profile應(yīng)用
python manage.py startapp profiles
profiles/models.py
# -*- coding: utf-8 -*-
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
user = models.OneToOneField(User)
nickname = models.CharField(max_length=16, default='', blank=True)
sex = models.IntegerField(default=0)
phone = models.CharField(max_length=16, default='', blank=True)
def __str__(self):
return self.nickname
def __unicode__(self):
return self.nickname
def create_user_profile(sender, instance, created, **kwargs):
if created:
profile = UserProfile()
profile.user = instance
profile.save()
post_save.connect(create_user_profile, sender=User)
profiles/admin.py
# -*- coding: utf-8 -*- from django.contrib import admin from django.contrib.auth.models import User from django.contrib.auth.admin import UserAdmin from .models import UserProfile class ProfileInline(admin.StackedInline): model = UserProfile max_num = 1 can_delete = False class UserProfileAdmin(UserAdmin): inlines = [ProfileInline, ] admin.site.unregister(User) admin.site.register(User, UserProfileAdmin)
settings.py
添加
AUTH_PROFILE_MODULE = 'profiles.UserProfile'
測試
$ python manage.py syncdb $ python manage.py shell >>> from django.contrib.auth.models import User >>> user = User() >>> user.username='testuser' >>> user.save() >>> User.objects.all()[0].userprofile
補(bǔ)充知識:django中登錄到accounts/profile/的解決方案

在project的setting里加一句話就Okay!
LOGIN_REDIRECT_URL = '/index'
以上這篇Django使用Profile擴(kuò)展User模塊方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas中DataFrame的merge操作的實現(xiàn)
本文主要介紹了pandas中DataFrame的merge操作的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Python統(tǒng)計列表中每個元素出現(xiàn)次數(shù)的4種實現(xiàn)
本文主要介紹了Python統(tǒng)計列表中每個元素出現(xiàn)次數(shù)的4種實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
詳解python 3.6 安裝json 模塊(simplejson)
這篇文章主要介紹了python 3.6 安裝json 模塊(simplejson),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
如何使用Python的xml.etree.ElementTree模塊解析和操作 XML 數(shù)據(jù)
xml.etree.ElementTree是Python標(biāo)準(zhǔn)庫中用于解析和操作XML數(shù)據(jù)的模塊,無需安裝,支持解析、創(chuàng)建、修改和查詢XML數(shù)據(jù),本文介紹如何使用Python的xml.etree.ElementTree模塊解析和操作 XML 數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2025-01-01
Python調(diào)用各大機(jī)器翻譯API的實現(xiàn)示例
本文主要介紹了Python調(diào)用各大機(jī)器翻譯API的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

