python 从Django www.example.com填充HTML表格views.py

k3bvogb1  于 2023-02-21  发布在  Python
关注(0)|答案(4)|浏览(130)

我有一个HTML表,我想从views.py填充它。下面是我的代码:

    • 索引. html**
{% for item in pizza %}
   <tr id="{{ item.name }}">
       <td>{{ item.status }}</td>
       <td>{{ item.name }}</td>           
   </tr>
{% endfor %}
    • 查看次数. py**
def pizza(request):
   pizza_data = [{'name': 'Pepperoni Pizza', 'status': 'Ready'}]
   return render(request, "index.html", {'pizza': pizza_data})

表没有被填充,我没有看到任何错误代码。它是pizza_data中的格式吗?我删除了另一个{% for %}循环,因为Lucas是对的,另一个循环是无用的。
我想我应该说index.html在一个名为templates的文件夹中。不确定这是否会影响,因为我将STATIC_DIR声明到了这个文件夹中。
pizza_data被硬编码的原因是因为这是一个JSON文件,我需要弄清楚如何插入,但现在我想看看{% for %}循环是否可以填充,但它不能。

dwbf0jvd

dwbf0jvd1#

试试这个代码,它工作

views.py

def pizza(request):
   pizza_data = [{'name': 'Pepperoni Pizza', 'status': 'Ready'}]
   return render(request, "index.html", {'pizza_data': pizza_data})

HTML表格

<table class="table ">
  <thead>
    <th>Item Name</th>
    <th>Status</th>
  </thead>
  <tbody>
    {% for item in pizza_data %}
    <tr id="{{ item.name }}">
      <td>{{ item.name }}</td>
      <td>{{ item.status }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>

在浏览器中输出

9gm1akwq

9gm1akwq2#

使用.items循环遍历字典:

{% for obj in pizza %}
   <tr id="{{ obj.name }}">
       {% for key, value in obj.items %}
            <td>{{ value }}</td>
       {% endfor %}
   </tr>
{% endfor %}
2wnc66cl

2wnc66cl3#

我认为你必须重命名你的变量,第二个循环是无用的,你在上下文中放置了一个字典,所以你只需要通过每个元素的键访问:

def pizza(request):
   pizza_data = [{'name': 'Pepperoni Pizza', 'status': 'Ready'}]
   return render(request, "index.html", {'pizzas': pizza_data})
{% for pizza in pizzas %}
   <tr id="{{pizza.name}}">
       <td>{{pizza.status}}</td>
       <td>{{pizza.name}}</td>           
   </tr>
{% endfor %}
wb1gzix0

wb1gzix04#

你的代码至少显示结果,但是如果你得到 * 模板不存在错误 * 它有另一个解决方案.

相关问题