Django Newbie:“ Reverse not found”
-
05-07-2019 - |
質問
Django形式の行があります:
{% for aa in my_array %}
このエラーを引き起こしているようです:
テンプレートエラー
レンダリング中に例外をキャッチしました: の逆 「dev_env.profiles.views.viewPlan」で 引数 '(' '、)'およびキーワード 引数 '{}'が見つかりません。
このエラーメッセージは実際にはどういう意味ですか?
どちらの行も正しいと思われますが、エラーメッセージは間違っています。または、エラーは本物ですが、この行は赤ニシンです。
いったい何を探すべきですか?
更新:Pauloはこれを以下でソートしました。
実際、数行離れた {%url viewPlan planId%}
がありました(そのため、報告されたエラー行が間違っていました)が、この場合planIdが空だったためエラーがトリガーされました。
解決
テンプレートで次のようなことを行う viewPlan
という名前のビューがありますか
{% url viewPlan %}
またはビュー内のこのようなもの:
reverse('viewPlan')
そのようにして、次のような行がない場合:
url(r'^whatever/url/
...あなたのURL設定では、それがあなたが得ているエラーだと思います。あるいは、おそらく、PlanPlan URLで値(おそらくidなど)をキャプチャしているが、URLを逆にするときに引数を渡していない可能性があります。したがって、次のように正規表現の値をキャプチャする場合:
url(r'^plans/(\d+)
次のように呼び出す必要があります:
{% url viewPlan 15 %}
またはこのように:
reverse('viewPlan', args=[15]);
15
は明らかに、キャプチャされた値が期待するものです。
, 'dev_env.profiles.views.viewPlan', name="viewPlan"),
...あなたのURL設定では、それがあなたが得ているエラーだと思います。あるいは、おそらく、PlanPlan URLで値(おそらくidなど)をキャプチャしているが、URLを逆にするときに引数を渡していない可能性があります。したがって、次のように正規表現の値をキャプチャする場合:
<*>
次のように呼び出す必要があります:
<*>
またはこのように:
<*>
15
は明らかに、キャプチャされた値が期待するものです。
, 'dev_env.profiles.views.viewPlan', name="viewPlan"),
次のように呼び出す必要があります:
<*>またはこのように:
<*> 15
は明らかに、キャプチャされた値が期待するものです。
...あなたのURL設定では、それがあなたが得ているエラーだと思います。あるいは、おそらく、PlanPlan 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")
]