为什么Django尝试错误的url模式?
Django尝试错误的url模式,但我找不到我的错误。为什么Django尝试错误的url模式?
urls.py
url(r'^message/(?P<advertisementid>(\d+))/$', chat_view, name="chat_view_with_toid"),
url(r'^profile/(?P<userid>(\d+))/$', profile_view, name="profile"),
url(r'^details/(?P<advertisementid>(\d+))/$', details_view, name='details'),
views.py
def details_view(request, advertisementid):
advertisement_data = Advertisement.objects.get(id=advertisementid)
return render(request, "details.html", {"advertisement_data": advertisement_data})
def profile_view(request, userid):
advertisements = Advertisement.objects.filter(user__id=userid)
return render(request, "profile.html", { 'advertisements': advertisements })
details.html(从那里我想解析为用户配置文件)
<a href="{% url 'profile' userid=advertisement_data.user.id %}" style="text-decoration:none;">
<input type="submit" class="details-btn-profile" value="Profile"></a>
<a href="{% url 'chat_view_with_toid' advertisementid=advertisement_data.id %}"
style="text-decoration:none">
<input type="submit" class="details-btn-contact" value="Kontakt"></a>
main.html中
<a href="{% url 'details' advertisementid=advertisement.id %}">
<img src="{% static advertisement.image.url %}" alt="Image"/></a>
当我在按钮class="details-btn-profile"
点击Django的给了我这个错误:
Reverse for 'details' with no arguments not found. 1 pattern(s) tried: ['details/(?P(\d+))/$']
为什么它解决细节?有任何想法吗 ?
对不起浪费你的时间,我发现我的错误。在profile.html我有这个HTML的代码:
<a href="{% url 'details' %}" class="announce-hedline"><h3>BMW 320i Limousine</h3></a>
所以"{% url 'details' %}"
不能缺少,因为它需要解决的advertisementid的解决。
我在错误的地方搜索了错误。
谢谢大家的帮助!
url名称chat_view_with_toid
似乎不存在于您的urls.py中。
哦对不起忘了添加它..我编辑我的问题 – Coder949
是的......虽然实际的错误消息表明有其他事情正在进行......看起来不像OP提供了它... –
@AaronVisang所以哪里你使用'{%url'细节'...%}' - 我们只能在你的模板中看到'{%url'chat_view_with_toid'...%}'... –
当你点击发送形式的按钮,其操作错误可能是空的ATTR action
类似的东西:
<form action="">
时候才需要设定:
<form action="{% url 'profile' userid=advertisement_data.user.id %}">
<!-- ^^^^^^^^^^^^^-->
,或者如果你想要去的链接通过点击只是改变type
<input type="button" class="details-btn-profile" value="Profile">
<!-- ^^^^^^^^^^-->
围绕给定的HTML代码有没有一种形式? –
不,但 Coder949
表单将控制任何提交按钮的行为。如果没有任何形式,我不确定会发生什么。可能会有一个默认的默认导致GET到相同的URL和给定的错误。 –