Question

J'ai une ligne sous une forme Django:

{% for aa in my_array %}

qui semble déclencher cette erreur:

  

Erreur de modèle

     

A capturé une exception lors du rendu:   Inverser pour   'dev_env.profiles.views.viewPlan' avec   arguments '(' ',)' et mot clé   arguments '{}' non trouvé.

Qu'est-ce que ce message d'erreur signifie vraiment?

Je pense que la ligne est correcte mais que le message d'erreur est faux. Ou l'erreur est réelle, mais cette ligne est un filou.

Qu'est-ce que je devrais rechercher?

Mise à jour: Paulo a réglé ce problème ci-dessous.

En fait, j'avais un {% url viewPlan planId%} à quelques lignes (la ligne d'erreur signalée était donc fausse), mais l'erreur a été déclenchée car planId était vide dans ce cas .

Était-ce utile?

La solution

Avez-vous une vue nommée viewPlan avec laquelle vous faites quelque chose comme ceci dans un modèle:

{% url viewPlan %}

ou quelque chose comme ça dans une vue:

reverse('viewPlan')

Si vous faites cela et que vous n'avez pas une ligne qui ressemble à ceci:

url(r'^whatever/url/

... dans votre configuration d'URL, j'imagine que c'est l'erreur que vous obtenez. Alternativement, et plus probablement, vous capturez probablement une valeur (peut-être un identifiant ou quelque chose) dans l'URL de viewPlan mais ne transmettez pas d'argument lors de l'inversion de l'URL. Donc, si vous capturez des valeurs dans la regex, comme ceci:

url(r'^plans/(\d+)

Vous devez l'appeler comme suit:

{% url viewPlan 15 %}

Ou comme ceci:

reverse('viewPlan', args=[15]);

15 correspond évidemment à la valeur attendue.

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

... dans votre configuration d'URL, j'imagine que c'est l'erreur que vous obtenez. Alternativement, et plus probablement, vous capturez probablement une valeur (peut-être un identifiant ou quelque chose) dans l'URL de viewPlan mais ne transmettez pas d'argument lors de l'inversion de l'URL. Donc, si vous capturez des valeurs dans la regex, comme ceci:

<*>

Vous devez l'appeler comme suit:

<*>

Ou comme ceci:

<*>

15 correspond évidemment à la valeur attendue.

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

Vous devez l'appeler comme suit:

<*>

Ou comme ceci:

<*>

15 correspond évidemment à la valeur attendue.

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

... dans votre configuration d'URL, j'imagine que c'est l'erreur que vous obtenez. Alternativement, et plus probablement, vous capturez probablement une valeur (peut-être un identifiant ou quelque chose) dans l'URL de viewPlan mais ne transmettez pas d'argument lors de l'inversion de l'URL. Donc, si vous capturez des valeurs dans la regex, comme ceci:

<*>

Vous devez l'appeler comme suit:

<*>

Ou comme ceci:

<*>

15 correspond évidemment à la valeur attendue.

Autres conseils

J'ai eu le même problème. Dans mon cas, j'avais oublié d'ajouter les URL de l'application pour enfants dans le fichier principal urls.py:

urlpatterns = [
    re_path("admin/", admin.site.urls),
    re_path(r"^core/", include("core.urls")),
    re_path(r"^<*>quot;, welcome, name="welcome")
]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top