Как назначить определенные группы пользователям при регистрации в Django

Я новичок в Django. Я разрабатываю школьное онлайн приложение. У меня есть несколько групп пользователей, таких как руководитель секции, учитель, руководитель предмета, классный руководитель и т.д. Мне нужно дать пользователю возможность выбрать свою группу и назначить каждого пользователя в эти группы во время регистрации. Я не знаю, как это сделать. Пожалуйста, помогите мне научиться этому. Спасибо.

Это мое мнение.

def register(request):
    form = CreateUserForm()
    
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            form.save()
            user_group = Group.objects.get(name='group_name')
            user.groups.add(group)
            username = form.cleaned_data.get('username')
            messages.success(request, f'Profile details updated {username}.')
            return redirect ('login')
        else:
            
            print(form.errors)
        # return redirect ('login')

    group = Group.objects.all()
    context = {

    'group': group,
    'form':form 
    

    }
    return render (request, 'register.html', context)

это моя форма

from django.forms import ModelForm
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django import forms

class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'password1', 'password2']

Мой шаблон

    <form method="POST" action="">
        {% csrf_token %}            
         <div class="input-group mb-3">
          <div class="input-group-append">
            <span class="input-group-text"><i class="fas fa-user"></i></span>
          </div>

          <select name="user-group" >
             {% for group in group %}  
             <option value="1">{{group.name}}</option>               
             {% endfor %}                 
           </select> 
          {{group.name}}
        </div>

        <div class="input-group mb-3">
          <div class="input-group-append">
            <span class="input-group-text"><i class="fas fa-user"></i></span>
          </div>
          
          {{form.username}}
        </div>
        <div class="input-group mb-2">
          <div class="input-group-append">
            <span class="input-group-text"><i class="fas fa-key"></i></span>
          </div>
          
          {{form.password1}}
        </div>
        <div class="input-group mb-2">
          <div class="input-group-append">
            <span class="input-group-text"><i class="fas fa-key"></i></span>
          </div>
          
          {{form.password2}}
        </div>

          <div class="d-flex justify-content-center mt-3 login_container">
          <input class="btn login_btn" type="submit" value="Register Account">
          </div>
      </form>
Вернуться на верх