【发布时间】:2014-09-05 03:14:22
【问题描述】:
我想在提交表单后保留表单字段。我可以保留除选中复选框之外的所有字段
这是我的表单操作视图:
def student_submit_info(request):
form_values = {}
if request.method == 'POST':
form = StudentForm(request.POST)
print form.is_valid()
form_values = getDetails(request)
if form.is_valid():
print request.user.username
student = Student.objects.get(user=request.user)
// saving student to DB
saveDetails(request, student, form_values)
return render_to_response('student.html', form_values, context_instance=RequestContext(request))
def getDetails(request):
#fetch input data
form_values = {}
form_values['first_name'] = request.POST['first_name']
form_values['last_name'] = request.POST['last_name']
form_values['skills'] = request.POST.getlist('skills[]')
return form_values
我想保留技能(复选框),这是我的模板
的一部分skill1<input type="checkbox" name="skills[]" checked value="skill1"/>
skill2<input type="checkbox" name="skills[]" value="skill2"/>
skill3<input type="checkbox" name="skills[]" value="skill3"/>
【问题讨论】:
-
你为什么使用
user = User.objects.get(username=request.user.username)而不是简单的request.user? -
你的
form变量来自哪里? -
我认为 Django 表单不支持
name="something[]"表示法。使用内置小部件可能会更简单,请参阅此答案:stackoverflow.com/questions/4381300/…
标签: python html django forms checkbox