请帮助我!
对不起,我的英语不好,我的英语不好!
我正在尝试访问此页面192.168.56.102 / project / BP / 4
,它向我显示此味精错误!
与其他页面相同的url和视图配置可以正常工作。
Reverse for '' not found. '' is not a valid view function or pattern name.
Request Method: GET
Request URL: http://192.168.56.102/project/BP/4
Django Version: 2.1.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for '' not found. '' is not a valid view function or pattern name.
urls.py:
urlpatterns = [
#Project :
path('', views.projects , name = 'project'),
path('BP/<int:id_project>', views.tb_project , name='tb_project'),
path('add/', views.add_project , name = 'add_project'),
path('delete/p/<int:id_project>',views.delete_project , name='delete_project'),
path('edit/<int:id_project>' , views.edit_project , name = 'edit_project'),
#Zone Action :
path('zone/<int:id_project>/' , views.list_zones , name ='list_zone'),
path('zone/add/<int:id_project>/' , views.add_ZoneAction , name = 'add_zone'),
path('delete/z/<int:id_project>/<int:id_zone>',views.delete_zone , name='delete_zone'),
path('zone/edit/<int:id_zone>' , views.edit_ZoneAction , name = 'edit_zone'),
]
views.py:
def tb_project(request,id_project):
template ="project/bord_project.html"
context = {}
prj = get_object_or_404(project ,id = id_project)
context["prj"] = prj
return render(request, template ,context)
page.html
<a href="{% url 'tb_project' element.id %}">
<!-- element.id = 4 -->
该链接正确显示在页面192.168.56.102/project/BP/4
中,但是当我单击以转到bord_project.html
时,我看到了一条错误消息!
Page.html:
list_tuple是上下文变量
{% extends "base.html" %}
{% load static %}
{% block contenu %}
<div class="container">
{% for elements in list_tuple %}
<div class="row" style="margin-top : 10px;">
{% for element in elements %}
<div class = "col-4">
<div class="card text-center">
<div class="card-header">
Projet
</div>
<div class="card-body">
<h5 class="card-title">
{{ element.intitule }}
</h5>
<p class="card-text">
{{ element.description|truncatewords:7 }}
</p>
<a href="{% url 'tb_project' element.id %}" class="btn btn-info">
{# link #}
Plus »
</a>
</div>
<div class="card-footer text-muted">
{{ element.date }}
</div>
</div>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
目前bord_project.html为空白
{% extends "base.html" %}
{% load static %}
{% block contenu %}
{# blank for the moment #}
{% endblock %}
答案 0 :(得分:1)
我认为问题不在于您粘贴的任何代码中。您应该运行$ grep -r -E "reverse|url" .
或类似的搜索命令来查找可能缺少的所有网址解析。
在某个地方,您有一个reverse[_lazy]
函数调用或url
模板标记正在执行错误的查找。
请确保url
模板标签的任何使用都在视图名称周围使用引号。