【发布时间】:2019-08-31 16:48:10
【问题描述】:
我有一个详细视图,它使用 Quiz 对象来显示存储在该对象中的数据,例如标题和作者。我想要一个链接到一个新页面的按钮,该页面显示来自同一对象的不同数据。我不知道如何传递这个数据/对象。
我可以渲染视图并使用 id 将特定测验的上下文传递给它,但我希望将 id 更改为初始页面中对象的 id。
#assessement view
def assessment(request):
context = {
'quiz':Quiz.objects.get(id=1),
}
return render(request, 'quiz_app/assessment.html', context)
#detailview template for quiz
{% extends "quiz_app/base.html" %}
{% block content %}
<article class="quiz-detail">
<h1>{{ object.title }}</h1>
<h2>{{ object.question_amount }} Questions</h2>
<a class="btn" href="{% url 'quiz-assessment' %}">Start Quiz</a>
</article>
{% endblock content %}
#assessment template
{% extends "quiz_app/base.html" %}
{% block content %}
<h2>Assessment</h2>
<h2>Title is {{ quiz.title }}</h2>
{% endblock content %}
【问题讨论】:
-
我们可以知道您使用的是哪个版本的 django 吗?
-
您必须将数据作为 URL 的一部分传递。让您的
quiz-assessmentURL 采用一个 URL 参数,该参数采用测验的 id,然后在评估页面的视图中获取它。 -
版本是2.2.4
标签: python django templates django-views