如何在Django中获取多个复选框的值
我想通过 request.POST['xzy']
来获取多个选择框的值,并把它们放在一个列表里。以下是我的模型和模板代码。
我的模型
class Recommend(models.Model):
user=models.ForeignKey(User)
book=models.ForeignKey(BookModel)
friends=models.ManyToManyField(User, related_name="recommended")
我的模板
{% for friend in friends %}
<input type="checkbox" name="recommendations" id="option{{friend.id}}" value={{friend.username}} />
<label for="option{{friend.id}}"><b>{{friend.username}}</b></label><br />
{% endfor %}
我的视图代码
if request.method == 'POST':
recommendations=request.POST['recommendations']
在这里,我希望 'recommendations' 是一个包含所有朋友ID的列表,但现在它只是在每次循环时被覆盖,最后只保留了最后一次循环赋值的那个值。我该怎么解决这个问题呢?非常需要帮助。谢谢。
2 个回答
2
当然可以!请看下面的内容:
这段代码主要是用来处理一些数据的。它会从一个地方获取数据,然后进行一些操作,最后把结果输出。简单来说,就是把输入的数据变成我们想要的样子。
在这段代码中,有几个重要的部分:
1. **获取数据**:代码首先会从某个地方(比如数据库或者文件)获取需要处理的数据。
2. **处理数据**:接下来,代码会对获取的数据进行一些计算或者转换。这一步是最关键的,因为它决定了最终结果的样子。
3. **输出结果**:最后,处理完的数据会被输出到屏幕上,或者保存到某个地方,方便后续使用。
总的来说,这段代码就是一个数据处理的流程,帮助我们把原始数据变成有用的信息。
希望这个解释能让你更容易理解这段代码的作用!
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return ','.join(request.POST.getlist(strName))
else:
return ""
125
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这个时候,我们需要去寻找解决方案。StackOverflow是一个非常有用的网站,程序员们可以在这里提问和回答问题。
当你在StackOverflow上看到一个问题时,通常会有很多人分享他们的经验和解决办法。你可以从中学习到很多实用的技巧和知识。
如果你在写代码时遇到困难,不妨去看看StackOverflow,可能会找到你需要的答案,或者至少能让你更清楚地理解问题所在。
request.POST.getlist('recommendations')