06. Django에서 사용자의 두 가지 확장 방식(Profile 및 AbstractUser)
프로젝트를 정상적으로 설정하려면 다음과 같이 하십시오.
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을 구성하려면:
my 웹 디렉토리의 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
백그라운드 로그인 보기
2: AbstractUser 상속
프로파일과 같이 새 항목 만들기
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의 부분 설정과 프로필의 설정 방식데이터베이스 동기화:
makemigrations
migrate
syncdb
백그라운드 로그인 하시면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.