我在views.py
中有一个注册方法def register_page(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
user = User.objects.create_user(username=form.cleaned_data['username'],
password=form.cleaned_data['password1'],
email=form.cleaned_data['email'])
if request.POST.get("admin", ""):
content_type = ContentType.objects.get_for_model(User)
permission = Permission.objects.get(codename='admin_can_manage_users')
user.user_permissions.add(permission)
new_user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password1'])
login(request, new_user)
return redirect('payment_list')
form = RegistrationForm()
variables = RequestContext(request, {'form': form})
return render_to_response('registration/register.html',variables)
我还有一个带有标准字段的注册表单和其他手动添加的复选框。我想检查是否选中了一个复选框,如果是,则向用户添加权限。
<form method="post" action=".">
{{ form.as_p }}
<input type="radio" class='radio-button' name="regular" id="regular"/><label for="regular">User</label>
<input type="radio" class='radio-button' name="manager" id="manager"/><label for="manager">Manager</label>
<input type="radio" class='radio-button' name="admin" id="admin"/><label for="admin">admin</label>
<input type="submit" value="register" />
</form>
现在不会自动分配权限。以前我将此权限分配给第一个用户并且它有效但当我尝试将其分配给另一个用户时什么都没有。
答案 0 :(得分:1)
答案 1 :(得分:0)
错误是因为命名空间:我的权限是在auth命名空间中。刚换到另一个(另一个模型),它完美无缺。