繁体   English   中英

我想在 Django 中注册(以编程方式)时将用户分组为管理员或客户。 我是 Django 的新手

[英]I want to mention group the user either admin or customer while register(programmatically) in Django. I am new to Django

在此处输入图像描述

管理面板中,我可以将用户分组为customer 或 admin 如何以编程方式进行? 这是我在views.py 中的function寄存器

@unauthenticated_user
def register(request):    
    form = CreateUserForm()    
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            form.save()
            profile = form.save(commit=False) 
            profile.save()
            user = form.cleaned_data.get('username')
            us1 =  User.objects.filter(username=user).first()
            us1.is_staff = True 
            us1.is_superuser = False 
            
            us1.save()
            messages.success(request, 'Account was created for ' + user)
            return redirect('loginpage')
        

    context = {'form':form}
    return render(request, 'register.html', context)

User model 有一个字段groupsDjango 文档):

Group的多对多关系

from django.contrib.auth.models import Group

my_group = Group.objects.get(name='customer')
user.groups.add(my_group) 
# or
# my_group.user_set.add(user)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM