Django新手:“反向找不到”
-
05-07-2019 - |
题
我有一个Django形式的行:
{% for aa in my_array %}
似乎触发了这个错误:
模板错误
渲染时捕获异常: 反向 'dev_env.profiles.views.viewPlan'用 参数'('',)'和关键字 没有找到参数“{}”。
此错误消息的真正含义是什么?
我怀疑该行是否正确,但错误消息是错误的。或错误是真实的,但这条线是红鲱鱼。
我到底应该寻找什么?
更新:保罗对此进行了排序。
事实上,我有几行之后的 {%url viewPlan planId%}
(因此报告的错误行是错误的),但错误被触发,因为在这种情况下planId为空
解决方案
您是否有一个名为 viewPlan
的视图,您可以在模板中执行以下操作:
{% url viewPlan %}
在视图中或类似的东西:
reverse('viewPlan')
如果您这样做而且没有看起来像这样的行:
url(r'^whatever/url/
...在你的网址配置中我会想到你正在犯的错误。或者,更有可能的是,您可能在viewPlan URL中捕获值(可能是id或其他内容),但在反转url时不传递参数。因此,如果您正在捕获正则表达式中的任何值,请执行以下操作:
url(r'^plans/(\d+)
你需要这样称呼它:
{% url viewPlan 15 %}
或者像这样:
reverse('viewPlan', args=[15]);
其中 15
显然是捕获的值所期望的。
, 'dev_env.profiles.views.viewPlan', name="viewPlan"),
...在你的网址配置中我会想到你正在犯的错误。或者,更有可能的是,您可能在viewPlan URL中捕获值(可能是id或其他内容),但在反转url时不传递参数。因此,如果您正在捕获正则表达式中的任何值,请执行以下操作:
<*>
你需要这样称呼它:
<*>
或者像这样:
<*>
其中 15
显然是捕获的值所期望的。
, 'dev_env.profiles.views.viewPlan', name="viewPlan"),
你需要这样称呼它:
<*>或者像这样:
<*>其中 15
显然是捕获的值所期望的。
...在你的网址配置中我会想到你正在犯的错误。或者,更有可能的是,您可能在viewPlan URL中捕获值(可能是id或其他内容),但在反转url时不传递参数。因此,如果您正在捕获正则表达式中的任何值,请执行以下操作:
<*>你需要这样称呼它:
<*>或者像这样:
<*>其中 15
显然是捕获的值所期望的。
其他提示
我有同样的问题。在我的情况下,我忘了在主urls.py文件中添加子应用程序的URL:
urlpatterns = [
re_path("admin/", admin.site.urls),
re_path(r"^core/", include("core.urls")),
re_path(r"^<*>quot;, welcome, name="welcome")
]