Python Django形式的循环

Python Django形式的循环,python,django,Python,Django,我刚刚开始在Django中构建一个原型应用程序。我一开始是通过非常有帮助的方法开始工作的,并且给了我开始工作所需要的东西。现在我有几个我希望非常简单的问题: 我想在views.py中加入一个循环,循环从表单传入的一组变量。因此,我有一大堆HTML表单中的项目,每个项目都有一个选择下拉列表,供人们从0-10中选择分数,如下所示: <select name="score1"> <option value=0 SELECTED>No score</option>

我刚刚开始在Django中构建一个原型应用程序。我一开始是通过非常有帮助的方法开始工作的,并且给了我开始工作所需要的东西。现在我有几个我希望非常简单的问题:

我想在views.py中加入一个循环,循环从表单传入的一组变量。因此,我有一大堆HTML表单中的项目,每个项目都有一个选择下拉列表,供人们从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>
for o in request.POST.all

endfor
但我真的不知道该怎么办

我不是在找人帮我写代码,真的:我只是想要一些关于如何在python/Django中编写这样一个循环的指导,也许还有一些关于一个好的参考指南的建议,我可以在网上看到或购买,这将使我能够访问这类东西

另外,上面的select对象几乎是我手工创建的,我真的希望能够使用一个循环在模板中首先生成它。我的模板当前包含以下内容:

<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>

{movie_list%}中的电影为%
{{电影}
不得分
1.
2.
3.
4.
5.
6.
7.
8.
9
10
{%endfor%}

我觉得必须有一种方法来创建一个从1到10的简单循环,这将为我生成大多数选项,但我不知道如何做到这一点…

你需要看看Django

你不应该像那样建立自己的形式

您应该声明一个表单类,其中包含一个字段,并为该字段提供选择域。从那以后,一切都会自然而然地发生

顺便说一句,这些选项应该在模型中定义为该模型字段的值范围

您的页面仅包括
{{form}
。Django使用选项构建表单,并将选项解码为最终结果

我觉得一定有办法 创建一个简单的循环,从 1到10,这将产生大部分 我有这些选择,但我不能 想想怎么做


如果你不想使用Django表单(顺便说一句,为什么?)。对于您正在寻找的循环:

<select name="score{{ movie.id }}">
    <option value=0 SELECTED>No score</option>
  {% for i in range(1, 11) %}
    <option value={{ i }}>{{ i }}</option>
  {% endfor %}
</select>

不得分
{范围(1,11)%内的i的百分比}
{{i}
{%endfor%}

Ah。。。您的回答让我感到有些意外:我认为您不能将python代码放入模板,这对吗?只有Django模板语言?是的。分离行动中的关注点;)