【发布时间】:2014-05-26 18:23:27
【问题描述】:
Django/Python 新手。我正在使用 django 表单在用户中进行选择。 首先查询集根据 group__name 过滤,然后表单生成带有复选框小部件的 HTML。这是基本的并且运行良好。 我想要显示“User.last_name User.email”的 HTML。不仅是“User.username”复选框。 是否可以(并且容易)更改此小部件的默认行为?
# model is User
# forms
class SelMembersForm(forms.Form):
qs = User.objects.filter(groups__name='any_group_name')
picked = forms.ModelMultipleChoiceField(qs, widget=forms.CheckboxSelectMultiple())
# views
def members_select(request):
if request.method == 'POST':
form = SelMembersForm(request.POST)
if form.is_valid():
picked = form.cleaned_data.get('picked')
else:
form = SelMembersForm
return render_to_response('staff/selmembers.html', {'form':form },
context_instance=RequestContext(request))
# template
<form method='post'> {% csrf_token %}
{{ form.as_p }}
<input type='submit' value='submit'>
</form>
【问题讨论】:
标签: django forms checkbox widget