为什么我的 Django 网址呈现错误的模板?

why do my django urls render the wrong template?

我很惊讶我无法通过 url 访问我的产品详细信息页面,我不明白为什么,因为我已经做了很多次这个基本的事情...

我有一个显示我所有产品的页面,当用户点击一个产品时,他被重定向到产品详细信息,就是这样。

不知何故,当我单击 link link 进入产品详细信息或键入 url 的正确路径时,它会加载显示所有产品的同一页面,但它甚至不调用产品详细信息视图,为什么?

这里是观看次数

def rcdex(request):
    list = Liste.objects.all()
    return render(request, 'rcdex.html', {'list':list,})

def rc_detail(request, id):
    list = Liste.objects.get(id=id)
    return render(request, 'rc_detail.html', {'list':list,})

这里是 urls :

url(r'^', views.rcdex, name="rcdex"),
url(r'^rc/(?P<id>\d+)/$', views.rc_detail, name='rc_detail'),

以下是我在模板上调用 rc_detail 视图的方式:

<th><a href="{% url 'rc_detail' l.id %}">{{ l.entreprise }}</a></th>

我不明白为什么它不显示正确的模板 (rc_detail.html) 而是重新加载 rcdex.html ?

您还没有终止您的 rcdex urlpattern,所以它匹配所有内容。你应该使用 $:

url(r'^$', views.rcdex, name="rcdex"),

你也可以这样做..

url(r'^rc/(?P<id>\d+)/$', views.rc_detail, name='rc_detail'),
url(r'^', views.rcdex, name="rcdex"),