python - 未找到关键字参数“{'pk': ''}' 的“ques_detail”的反向操作。尝试了 1 种模式:['ques_detail/(?P[0-9]+)/$']
问题描述
我收到以下错误:
未找到关键字参数“{'pk': ''}' 的“ques_detail”的反向操作。尝试了 1 种模式:['ques_detail/(?P[0-9]+)/$']
有谁知道如何解决它?
我尝试了许多网站上发布的解决方案,但没有任何效果。有人好心帮忙。
网址.py
from django.urls import path
from . import views
urlpatterns = [
path('logout', views.logout, name='test_logout'),
path('register', views.register, name = 'register'),
path('', views.welcome, name='welcome'),
path('instructions', views.instructions, name = 'instructions'),
path('ques_detail/<int:pk>/',views.ques_detail,name='ques_detail')
]
视图.py
def instructions(request):
return render(request,'events/instructions.html')
def ques_detail(request, pk):
ques = get_object_or_404(Questionm, pk=pk)
return render(request, 'events/ques_detail.html', {'ques': ques})
说明.html
{% extends 'base.html' %}
{% block content %}
<div class="register">
<h1>Instructions</h1>
</div>
<br><br><hr><hr>
<ul class="list-group">
<li class="list-group-item">Lorem ipsum dolor sit amet, consectetur...</li>
</ul>
<div class="start">
<button type="button" class="btn btn-success" style="width: 350px;
height: 80px;font-size : 500px;"><a href="{% url 'ques_detail' pk=ques.pk %}">
<h4>Start Test</h4></a></button>
</div>
{% endblock %}
解决方案
视图中缺少正确instructions
调用“开始测试”页面的内容。
在模板中,您使用 url 定义按钮以调用问题:
<button type="button" class="btn btn-success" style="width: 350px;
height: 80px;font-size : 500px;">
<a href="{% url 'ques_detail' pk=ques.pk %}">
<h4>Start Test</h4></a>
</button>
{% url 'ques_detail' pk=ques.pk %}
将调用视图ques_detail
并尝试使用参数传递问题 ID pk
,好的,但您从未ques.pk
在此处定义,这就是您得到空字符串和反向错误的原因。
当instructions.html被渲染时,你必须ques
在模板的上下文中定义一个对象,就像你对render(request, 'events/ques_detail.html', {'ques': ques})
.
所以你可以有如下视图:
def instructions(request):
ques = Questionm.objects.first()
context = {'ques': ques}
return render(request,'events/instructions.html', context)
(我随机查询一个问题(Questionm.objects.first()
)你必须替换它来查询你需要的问题。)
推荐阅读
- dart - 如何将图像从屏幕底部移动到屏幕顶部
- angular - 即使添加到入口组件后,也找不到 ngx-bootstrap 模态组件
- python - pickle 如何处理递归对象的序列化?
- javascript - RangeError,语法错误:无效的正则表达式
- rust - 如何为特征的每个实现自动生成递增的数字标识符?
- rstudio - 在 rmarkdown 中生成投影仪幻灯片时出现编码问题
- c# - ASP.NET MVC 对象引用错误
- c# - 返回具有导航属性的 ef 核心对象时控制器崩溃
- javascript - 使用 AJAX 时 PHP 会话变量为空
- retrofit2 - 将 Dagger 与 Observables、RxJava 和改造一起使用