python - Django 3 错误 - NoReverseMatch at /; 未找到任何参数的“car_detail”反向。尝试了 1 种模式:['cars/(?P[0-9]+)$']
问题描述
我目前正在从一本电子书中学习关于 Django 的教程。尽管做了书中写的事情,但我一直收到这个错误。也许,我有一个疏忽,一定错过了什么。一个好心的人可以帮助我检查我的代码并告诉我我一定做错了什么吗?我在下面附上了我的代码片段。任何帮助将不胜感激。谢谢
NoReverseMatch 在 /
Reverse for 'car_detail' with no arguments not found. 1 pattern(s) tried: ['cars/(?P<id>[0-9]+)$']
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 3.0.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'car_detail' with no arguments not found. 1 pattern(s) tried: ['cars/(?P<id>[0-9]+)$']
Exception Location: C:\Python37\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix, line 677
Python Executable: C:\Python37\python.exe
Python Version: 3.7.7
Python Path:
['D:\\Django_Tests\\CarZone_Project',
'C:\\Python37\\python37.zip',
'C:\\Python37\\DLLs',
'C:\\Python37\\lib',
'C:\\Python37',
'C:\\Python37\\lib\\site-packages']
Server time: Wed, 16 Dec 2020 14:46:01 +0000
Error during template rendering
In template D:\Django_Tests\CarZone_Project\templates\base.html, error at line 0
Reverse for 'car_detail' with no arguments not found. 1 pattern(s) tried: ['cars/(?P<id>[0-9]+)$']
1 {% load static %}
2
3 <!DOCTYPE html>
4 <html>
5
6 <head>
7 <title></title>
8 <meta name="viewport" content="width=device-width, initial-scale=1.0">
9 <meta charset="utf-8">
10
Traceback 切换到复制和粘贴视图
C:\Python37\lib\site-packages\django\core\handlers\exception.py in inner
response = get_response(request) …
▶ Local vars
C:\Python37\lib\site-packages\django\core\handlers\base.py in _get_response
response = self.process_exception_by_middleware(e, request) …
▶ Local vars
C:\Python37\lib\site-packages\django\core\handlers\base.py in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
D:\Django_Tests\CarZone_Project\pages\views.py in home
return render(request, 'pages/home.html', all_data) …
▶ Local vars
C:\Python37\lib\site-packages\django\shortcuts.py in render
content = loader.render_to_string(template_name, context, request, using=using) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\loader.py in render_to_string
return template.render(context, request) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\backends\django.py in render
return self.template.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render
return self._render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in _render
return self.nodelist.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render
bit = node.render_annotated(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render_annotated
return self.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\loader_tags.py in render
return compiled_parent._render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in _render
return self.nodelist.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render
bit = node.render_annotated(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render_annotated
return self.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\loader_tags.py in render
result = block.nodelist.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render
bit = node.render_annotated(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render_annotated
return self.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\defaulttags.py in render
nodelist.append(node.render_annotated(context)) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\base.py in render_annotated
return self.render(context) …
▶ Local vars
C:\Python37\lib\site-packages\django\template\defaulttags.py in render
url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app) …
▶ Local vars
C:\Python37\lib\site-packages\django\urls\base.py in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) …
▶ Local vars
C:\Python37\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix
raise NoReverseMatch(msg) …
▶ Local vars
URLS.PY:
from . import views
urlpatterns = [
path('', views.cars, name='cars'),
path('<int:id>', views.car_detail, name='car_detail'),
]
家庭模板:
<div class="overlap-box">
<div class="overlap-btns-area">
<div class="car-magnify-gallery">
<a href="{{each_car.car_image.url}}" class="overlap-btn">
<i class="fa fa-expand"></i>
<img class="hidden" src="{{each_car.car_image.url}}">
</a>
{% if each_car.car_image_1 %}
<a href="{{each_car.car_image_1.url}}" class="hidden">
<img class="hidden" src="{{each_car.car_image_1.url}}">
</a>
{% endif%}
{% if each_car.car_image_2 %}
<a href="{{each_car.car_image_2.url}}" class="hidden">
<img class="hidden" src="{{each_car.car_image_2.url}}">
</a>
{% endif%}
{% if each_car.car_image_3 %}
<a href="{{each_car.car_image_3.url}}" class="hidden">
<img class="hidden" src="{{each_car.car_image_3.url}}">
</a>
{% endif%}
{% if each_car.car_image_4 %}
<a href="{{each_car.car_image_4.url}}" class="hidden">
<img class="hidden" src="{{each_car.car_image_4.url}}">
</a>
{% endif%}
</div>
</div>
</div>
</div>
</div>
<div class="detail">
<h1 class="title">
<a href="{% url 'car_detail' car.id %}">{{each_car.car_title}}</a>
</h1>
<div class="location">
<a href="{% url 'car_detail' car.id %}">
<i class="flaticon-pin"></i>{{each_car.state}}, {{each_car.city}}
</a>
</div>
</div>
意见.PY:
def car_detail(request, id):
single_car = get_object_or_404(Car, pk=id)
data = {
'single_car': single_car,
}
return render(request, 'cars/car_detail.html', data)
解决方案
尝试这个...
<div class="detail">
<h1 class="title">
<a href="{% url 'car_detail' each_car.id %}">{{each_car.car_title}}</a>
</h1>
<div class="location">
<a href="{% url 'car_detail' each_car.id %}">
<i class="flaticon-pin"></i>{{each_car.state}}, {{each_car.city}}
</a>
</div>
</div>
推荐阅读
- linux - kafka中的日志刷新率究竟是什么意思?
- flutter - TextFormField 不反映来自 ChangeNotifierProvider 的 initialValue
- c++ - 使用 C++ 宏封装 SQLITE 错误检查和报告
- html - 使用 R 抓取网站的 Power BI 仪表板
- kotlin - Kotlin 等效于 C# 8 的异步枚举是什么?
- r - 向量中带有 () 的 substring()
- r-markdown - Rmarkdown 中的 Xaringan:如何删除标题中的 auto_identifiers
- node.js - 发布期间的 npm 错误 - babel-eslint 的版本不正确
- ios - Swift Combine Sink 收到至少一个值后如何停止存储 AnyCancellable?
- node.js - JS 中的 function.name 用于 WASM 模块