我刚刚开始在Django中构建原型应用程序.我最初是通过Django网站上的Django应用程序教程开始的,这非常有帮助,并且给了我开始所需要的东西.现在我有几个我希望的非常简单的问题:
我想将一个循环放到views.py中,循环遍历从表单传入的一组变量.所以我在HTML表单中有大量项目,每个项目都有一个SELECT下拉列表供人们选择0-10的分数,如下所示:
<select name="score1">
<option value=0 SELECTED>No score</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
</select>
Run Code Online (Sandbox Code Playgroud)
所以,我有100个这样的变量,得分1,得分2,得分3,......,得分99,得分100.提交表单时,我想遍历每个变量并查看它是否已设置(即不是0),如果是,我想将该值存储在数据库中的适当位置.我的问题是我无法弄清楚如何循环这些变量.我猜我想要这样的东西:
for o in request.POST.all
endfor
Run Code Online (Sandbox Code Playgroud)
但后来我真的不知道该怎么做.
我不是在寻找有人为我编写代码,真的:我只是想在python/Django中编写如何编写这样的循环的一些指导,也可能是一些关于良好参考指南的指示我可以看到在线或购买,将让我访问这种东西.
另外,上面的选择对象几乎是手工创建的,我真的希望能够通过循环在模板中首先生成它.我的模板目前有这个:
<table>
{% for movie in movie_list %}
<tr>
<td> {{ movie }} </td>
<td>
<select name="score{{ movie.id }}">
<option value=0 SELECTED>No score</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
</select>
</td></tr>
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)
我觉得必须有一种方法可以创建一个从1到10的简单循环,这将为我生成大部分选项,但我无法弄清楚如何做到这一点......
您需要查看Django 表单.
你永远不应该建立自己的形式.
您应该声明一个包含ChoiceField的Form类,并为该字段提供选择域.从那里开始,一切都会自动发生.
选择BTW应在模型中定义为该模型字段的值范围.
您的页面仅包含{{form}}
.Django使用选择构建表单并将选择解码为最终结果.
归档时间: |
|
查看次数: |
1838 次 |
最近记录: |