En faisant le texte "python django super introduction" (système Hidewa), j'ai entré le texte exactement et une erreur s'est produite. Comme il n'était pas répertorié dans le tableau correct / incorrect fourni par l'éditeur, je l'ai publié à des fins d'étude. Dans le texte, je crée une application Hello.
django:3.0.2 python:3.7.4 OS:macOS Mojave 10.14.6
Cela s'est produit lorsque je faisais la P.82 (Déplacer plusieurs pages) à la page 2-2.
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>{{ msg }}</p>
<p><a href="{% url goto %}">{{ goto }}</a></p>
</body>
</html>
views.py
#Avant correction
# index()Seul extrait
def index(request):
params = {
'title': 'Hello/index',
'msg': 'Ceci est une page d'exemple.',
'goto': 'next',
}
return render(request, 'hello/index.html', params)
Lors de l'accès à index.html dans cet état, l'erreur suivante s'est produite.
NoReverseMatch at /hello/
Reverse for 'next' not found. 'next' is not a valid view function or pattern name.
Quelle est la prochaine"? ?? Est en colère. .. ..
De la conclusion, cela était dû à la façon dont «go» était écrit dans views.py. Après l'avoir modifié comme suit, c'est devenu normal.
views.py
#5ème ligne
#Changer avant:
'goto': 'next',
#Après le changement:
'goto': 'hello:next',
Écran de résultat de l'exécution:
L'affichage de la partie lien est différent du texte, mais ce n'est pas l'essentiel, je n'y toucherai donc pas ici. (Seul "suivant" est censé être affiché dans le texte) La cause était que la partie modèle {% url goto%} dans index.html n’était pas envoyée dans le bon format. Le format de la partie goto devrait être «nom de l'application: nom», mais il y avait une incohérence car seul le nom venait.
Ce qui précède n'est pas décrit dans le tableau d'exactitude de la page de support de l'éditeur, et j'ai pensé que certaines personnes trébucheraient sur la même partie, alors je Je l'ai posté dans le but d'étudier. J'étudie toujours le django, donc si vous avez des questions, s'il vous plaît m (_ _) m
Recommended Posts