我正在使用Django的一些默认模型,比如User和Group。
我想要的是在群组名称后显示有关权限的提示。我想使用CheckboxSelectMultiple小部件来做到这一点。
我的代码如下:
template.html
<div class="container span6 offset3 well ">
<div class="row">
<div class="col-xs-6 col-sm-12">
<div class="form-group">
<label>Em quais desses perfis o usuário se indentifica?</label>
<div class="input-group input-group-sm">
{% for name in form.groups %}
<div class="checkbox">
{{ name }}
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
views.py
def user_create(request, template_name='quiz/register_users.html'):
form = UserForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(request, 'Usuário criado com sucesso.')
return redirect('user_list')
else:
messages.error(request, 'Não foi possível criar usuário.')
return render(request, template_name, {'form': form})
forms.py
class UserForm(ModelForm):
class Meta:
model = User
fields = ['first_name', 'last_name', 'username', 'password', 'email', 'groups']
widgets = {
'first_name': TextInput(attrs={'class': 'form-control', 'placeholder': 'Entrar primeiro nome'}),
'last_name': TextInput(attrs={'class': 'form-control', 'placeholder': 'Entrar último nome'}),
'username': TextInput(attrs={'class': 'form-control', 'placeholder': 'Entrar nome de usuário'}),
'password': PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Entrar senha',
'onkeyup': "password_strong(); if(beginCheckPassword1)checkPass();"}),
'email': TextInput(attrs={'class': 'form-control', 'placeholder': 'Entrar e-mail', 'id': "email",
'type': 'email', 'data-error': "E-mail inválido",
'pattern': '^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]' +
'+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$'}),
'groups': CheckboxSelectMultiple(),
}
我想要这样的事情:
例如: