我有一个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 显然是捕获的值所期望的。

, 'dev_env.profiles.views.viewPlan', name="viewPlan"),

...在你的网址配置中我会想到你正在犯的错误。或者,更有可能的是,您可能在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")
]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top