这里是Django的新手。共有三种类型的用户:具有不同权限的青铜,银和金。所有用户在注册时均以铜牌身份开始,然后在满足特定条件时向上移动。因此,我尝试使用Django的教程来自定义User模型。到目前为止,我已经能够正确创建用户。但是,我现在想在这些用户注册后立即将其添加到Bronze组中,并且不确定将代码放在哪里。这是我的代码。它相当简单。 models.py
# models.py
from django.contrib.auth.models import AbstractUser,Group
from django.db import models
class CustomUser(AbstractUser):
pass
# add additional fields in here
def __str__(self):
return self.username
forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm,UserChangeForm
from .models import CustomUser
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = CustomUser
fields = ('username','email')
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = CustomUser
fields = ('username','email')
views.py
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views.generic.edit import CreateView
from .forms import CustomUserCreationForm
# Create your views here.
class SignUpView(CreateView):
form_class = CustomUserCreationForm
success_url = reverse_lazy('login')
template_name = 'signup.html'
admin.py
from django.contrib import admin
# Register your models here.
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationForm,CustomUserChangeForm
from .models import CustomUser
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
form = CustomUserChangeForm
model = CustomUser
list_display = ['email','username',]
admin.site.register(CustomUser,CustomUserAdmin)
我可以手动将用户添加到django shell上的组中。
>>>currUser.groups.add(Group.objects.get(name='Bronze'))
此代码在哪里输入,以便在注册时执行此命令?
感谢您的帮助。
谢谢