gpt4 book ai didi

python - 如何将对象从详细 View 发送到 Django 中的另一个 View ?

转载 作者:行者123 更新时间:2023-12-02 19:53:05 25 4
gpt4 key购买 nike

我有一个详细 View ,它使用 Quiz 对象来显示存储在该对象中的数据,例如标题和作者。我想要一个链接到新页面的按钮,该页面显示来自同一对象的不同数据。我不知道如何传递这个数据/对象。

我可以呈现 View 并使用 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 %}

最佳答案

然后您应该为 url quiz-assessment 创建另一个 View ,并像上面在您的 assessment View 中所做的那样通过测验 pk。

 def quiz_assessment(request,pk):
quiz = Quiz.objects.get (pk=pk)
return render (request,'assessment_template', {'quiz':quiz}

然后在您的网址中,像这样传递测验 ID:

         path ('<int:pk>/quiz/assessment /',views.quiz_assessment,name='quiz_assessment')

在您的模板中,您可以像这样提供 url:

        < a class="btn" href="{% url 'quiz_assessment' object.pk %}>

关于python - 如何将对象从详细 View 发送到 Django 中的另一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57739939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com