7
votes

Pourquoi mon application de flacon renvoie-t-elle des pages vides?

Je suis nouveau dans les cadres Web Python et essayer d'apprendre de la fiole. J'ai traversé le tutoriel et tout était bon. J'essaie maintenant de faire ma propre petite application pour apprendre le cadre. J'ai eu dans mon flacon principal.py fichier le code suivant xxx

dans main.html j'ai ce HTML xxx

puis dans la mise en page .html J'ai une mise en page de base Web qui ressemble à ceci xxx

Je sais que les liens CSS sont faits de manière incorrecte mais je viens de les avoir ici en tant qu'ensistatiers. Maintenant, quand j'exécute Python Flask.py et aller à localhost: 5000 La page devient vide et je ne peux pas comprendre pourquoi. Si je mettais un texte normal dans le Main.html avant que l'extension qui apparaisse, je sache que c'est le chargement de MAIN.HTML, mais il semble ne pas extension de la mise en page. La page est littéralement vide comme lorsque vous voyez la source, il n'y a rien. Je ne peux pas comprendre cela.


2 commentaires

Juste au cas où essayez d'exécuter votre application en mode de débogage, peut-être (peut-être) il imprimera quelque chose d'utile. app.run (débogage = vrai). De plus, je suggérerais d'essayer d'essayer de rendre layout.html en premier et voyez si le flacon l'attrape du tout. Si cela fait alors quelque chose de mal avec héritage ...


Le fait que lorsque vous ajoutez du texte en dehors du bloc Content dans MAIN.HTML Il apparaît indique que JINJA2 est impossible de trouver votre fichier LayOut.html (la commande EXTEND est défaillante - sinon le texte en dehors des blocs ne serait pas rendu). Pouvez-vous poster l'intégralité de votre fichier .py ?


4 Réponses :


3
votes

fonctionne pour moi. Avez-vous vos fichiers HTML dans un dossier nommé "Modèles" relatif à votre module Python?

Voici mon code de test complet. xxx

edit : Vous avez dit: "J'avais dans mon flacon principal.py Fichier le code suivant" - Vous ne devez probablement pas le nommer flask.py, cela peut être vissé des objets.


8 commentaires

Merci mais ceux-ci n'ont pas résolu les problèmes. Mon layout.html et mon MAIN.HTML sont à la fois dans / Modèles et j'ai confirmé qu'ils sont orthographiés correctement. J'ai également renommé le flacon.py à autre chose à voir et cela n'a rien fait non plus.


Versions? J'ai le flacon == 0.9, Jinja2 == 2.6, Werkzeug == 0.8.3


Toutes les dernières versions pour moi. Je viens de les installer.


Eh bien, je ne sais pas quoi dire d'autre. Cela fonctionne pour moi en utilisant vos modèles.


Version Python? J'utilise 2.7.3


Python 2.7.x Je ne me souviens pas de quelle subversion


Êtes-vous sûr d'avoir Jinja2 et non le Jinja original? Essence facile à faire si vous utilisez PIP pour effectuer vos installations.


Mais pourquoi les modèles travaillent-ils dans le didacticiel qui fonctionne mais pas dans ma propre application? Je fais des actions similaires, je ne pense donc pas que ce soit ce problème, mais je vais essayer ce soir quand je rentre à la maison.



0
votes

Quel navigateur Web utilisez-vous pour vos tests?

J'ai essayé votre code et cela a fonctionné pour moi en utilisant Chrome et Firefox, mais j'ai remarqué que vous avez une balise d'ancrage incorrecte fermée dans votre layout.html < / code> à la ligne xxx

peut-être que le navigateur affiche la page comme vide?


1 commentaires

Je ne me suis pas rendu compte que tellement merci. J'ai fait le changement mais cela ne semblait pas affecter la mise en page.



0
votes

Ne manquez-vous pas l'ouverture tag dans layout.html? Je ne le vois pas n'importe où.


1 commentaires

Ouais mais cela ne l'affecte pas.



0
votes

J'ai abandonné dessus, je ne pouvais pas le faire travailler. J'ai fait un nouveau répertoire, copié et collé le texte dans de nouveaux fichiers, puis le couru et cela a fonctionné avec succès.

Je ne sais pas pourquoi cela ne fonctionnait pas dans ce cas.


0 commentaires