На самом деле я создал своего собственного пользовательского пользователя (MyUser) в models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractUser):
country=models.CharField(max_length=20)
settings.py
AUTH_USER_MODEL = 'new_user.MyUser'
Я создал простой функция в views.py для создания новых пользователей.
from django.shortcuts import render,redirect
from django.http import HttpResponse
from django.contrib.auth import get_user_model
from django.conf import settings
def save_account(request):
MyUser=get_user_model()
if request.method == "POST":
name=request.POST.get("name")
email=request.POST.get("email")
password1=request.POST.get("password1")
password2=request.POST.get("confirm-password")
country=request.POST.get("country")
new_user=MyUser.objects.create_user(username=name,email=email,password=password1,country=country)
new_user.save()
return redirect('/')
else:
return HttpResponse("404 Not Found")
1. Здесь я использую функцию get_user_model () для получения моего текущего пользовательского пользователя.
2. У меня есть второй вариант, чтобы получить моего пользовательского пользователя, просто импортировав модель MyUser из models.py, а затем использовать ее.
from .models import MyUser
3. У меня есть третий вариант получить пользовательского пользователя, просто импортировав AUTH_USER_MODEL непосредственно из settings.py и использовать его следующим образом.
from django.conf import settings
MyUser=settings.AUTH_USER_MODEL
, но третий вариант возвращает строку вместо возврата моего пользовательского пользователя .но почему?
Я просто хочу знать, какой вариант лучше всего импортировать в user-user в views.py и почему?