python - Jinja 中的编号循环
问题描述
我正在尝试使用 Django、Jinja2 和 PostgreSQL 制作一个测验应用程序。我想对问题进行编号,但我不知道如何编号,因为 python 在 for 循环中不使用计数器(例如,用于练习中的练习 - 这里没有 for 循环)
我试图改变for循环
(for exercise in exercises)
所以它有一个柜台
(for x in myrange)
并将 view.py 中的 myrange 定义为 range(1, len(exercitii+1)) 但之后我不知道如何访问 Jinja 模板中的元素。我试图访问练习
{exercitii.x-1.intrebare}}
但它没有用。
html模板
{% extends 'base.html' %}
{% load static %}
{% block content %}
</div>
<div id="middle-section" class="container-fluid container-fluid-margin">
<div class="content-quiz">
<form action="{% url 'exercitiu' lectii.id %}" method="POST" id="quiz">
{% for exercitiu in exercitii %}
<div class="row content-block">
<div class="col-lg-10 text-card">
{% csrf_token %}
<div class="card card-custom">
<div class="card-body">
<h5 class="card-title">{{exercitiu.id}} - {{exercitiu.intrebare}}</h5>
<div class="card-text">
<input type="radio" name="question-{{exercitiu.id}}-answers" id="question-{{exercitiu.id}}-answers-A" value="A" />
<label for="question-{{exercitiu.id}}-answers-A">A) {{exercitiu.variante.0}} </label>
</div>
<div class="card-text">
<input type="radio" name="question-{{exercitiu.id}}-answers" id="question-{{exercitiu.id}}-answers-B" value="B" />
<label for="question-{{exercitiu.id}}-answers-B">B) {{exercitiu.variante.1}} </label>
</div>
<div class="card-text">
<input type="radio" name="question-{{exercitiu.id}}-answers" id="question-{{exercitiu.id}}-answers-C" value="C" />
<label for="question-{{exercitiu.id}}-answers-C">C) {{exercitiu.variante.2}} </label>
</div>
<div class="card-text">
<input type="radio" name="question-{{exercitiu.id}}-answers" id="question-{{exercitiu.id}}-answers-D" value="D" />
<label for="question-{{exercitiu.id}}-answers-D">D) {{exercitiu.variante.3}} </label>
</div>
</div>
</div>
</div>
</div>
{% endfor %}
<input type="submit" value="Trimite" class="btn btn-secondary btn-block btn-login-custom" style="margin-bottom: 2rem;">
</div>
</div>
{% endblock %}
视图.py
from django.shortcuts import render
from django.shortcuts import get_object_or_404
from .models import Exercises
from .models import Lectie
def exercitii(req):
lectii = Lectie.objects.all().order_by("id")
context = {
'lectii': lectii
}
return render(req, '../templates/pagini/exercitii-selector.html', context)
def exercitiu(req, lectie_id):
lectii = get_object_or_404(Lectie, pk=lectie_id)
exercitiiObj = Exercises.objects.filter(idLectie=lectie_id)
context = {
'lectii': lectii,
'exercitii': exercitiiObj
}
return render(req, '../templates/pagini/exercitii.html', context)
(lectie = 课程,lectii = 课程,exercitii = 练习)
那么如何在模板中对 exercitiiObj 的问题进行编号呢?现在输出是来自数据库的练习 ID,这根本没有帮助。谢谢。
解决方案
推荐阅读
- javascript - 使用 JavaScript 动态创建规范 URL
- excel - 如何在受保护的工作表上断开指向 VBA 中值的链接?运行时错误“1004”
- terraform - 分配地图时 Terraform 何时需要等号 (=) (TF 0.11)
- javascript - setAttribute 不适用于 create-react-app 中的 onClick
- javascript - 如何使用 PHP 和 Javascript 将来自 MySQL 的数据显示到标记上的传单弹出窗口中?
- java - Cucumber spring WebDriver中的设计问题在@After方法中退出
- angular - 删除空表行 IONIC
- symfony - 在现有实体上使用 EntityManager::create 后,我收到错误的数据
- visual-studio - 如何在 SQL Server Database Project 2017 中根据环境部署不同的登录?
- boolean - Common Lisp 中是否有非延迟评估的“和”或“或”操作?