-1

我想将 a 包装在标签中,但是在渲染模板时,它没有生成正确的 html,这是我的代码:

{% for item in studentinfo %}
                  <form action="" method="">
                        {% csrf_token %}
          <tr>

                  <td>{{ item.nickname|default_if_none:"" }}</td>
            <td>{{ item.mobile|default_if_none:"" }}</td>
            <td>{{ item.register_at|date:"Y-m-d"|default_if_none:"" }}</td>

            <td>{{ item.sales.first_name|default_if_none:"" }}</td>
            <td><strong class="red-text">{{ item.price|default_if_none:"" }}</strong></td>
            <td><strong class="red-text">{{ item.remaining|default_if_none:"" }}</strong></td>
            <td>{{ item.level|default_if_none:"" }}</td>
            <td>
                    {% if item.state %}
                    {{ setstudentform.state|default:item.state }}
                    {% else %}
                    {{ setstudentform.state }}
                    {% endif %}
            </td>
            <td>{{ item.source|default_if_none:"" }}</td>
            <td>
                    {% if item.feature %}
                    {{ setstudentform.feature|default:item.feature }}
                    {% else %}
                    {{ setstudentform.feature }}
                    {% endif %}
            </td>

          </tr>
                  </form>
          {% endfor %}

但它生成的html是这样的:

<form method="" action=""></form>
<input type="hidden" value="8N1O4Oks4MmgN1ujanMZX0o2X5XGUMny" name="csrfmiddlewaretoken">

里面什么都没有<form>,这是为什么呢

4

2 回答 2

0

我认为这个问题是不完整的——我们也需要看看周围有什么{% for %},但我会冒险猜测。

看起来您正在尝试在表格行之间交错表格,这在 HTML 中可能是不合法的,并且会导致解析的 DOM 树看起来像您的“生成的 HTML”示例。

您是否检查了网络上的 HTML(使用查看源代码(除了 IE,当我上次使用它时,它总是将解析的 DOM 树输出为“源”),而不是 DOM 检查器)?我有根据的猜测是,您会发现您的 HTML 是正确的(或者,至少在您对其进行模板化时:))。

所以,简而言之,我不认为

<table>
  <form><tr>...</tr></form>
  <form><tr>...</tr></form>
</table>

不是合法的 HTML。

于 2013-05-15T07:18:13.867 回答
0

你要这个:

<form method="POST">
{% csrf_token %}
<table>
  {% for item in studentinfo %}
  <tr>
      <td>...</td>
  </tr>
  {% endfor %}
</table>
</form>

您模板的结构方式不是有效的 HTML。

另外,你不需要这个:

{% if item.feature %}
   {{ setstudentform.feature|default:item.feature }}
{% else %}
   {{ setstudentform.feature }}
{% endif %}

简单地{{ setstudentform.feature|default:item.feature }}做你想做的事。

于 2013-05-15T07:24:41.830 回答