Je suis nouveau sur Django. J'étudie simplement pour afficher des pages HTML dans mon application. J'ai un répertoire d'applications nommé myapp . Dans ce répertoire lui-même, j'ai créé un hello.html . C'est un simple fichier HTML. Ma fonction d'affichage est,
django.template.loaders.app_directories.Loader: /home/user/anaconda3/lib/python3.7/site-packages/django/contrib/admin/templates/hello.html (Source does not exist)
Lorsque j'exécute ma page, j'obtiens l'erreur suivante.
def hello(request):
today = datetime.datetime.now().date()
return render(request, "hello.html", {"today" : today})
Je sais qu'elle est référencée par le mauvais chemin. Mais pourquoi est-il défini sur le répertoire anaconda? J'espère que je dois modifier certains paramètres? que sont-ils?
3 Réponses :
Vous devriez conserver les modèles html sur un chemin comme celui-ci: nom_projet / templates / nom_app /
modifiez vos paramètres.py et définissez la destination de votre dossier de modèles et placez votre hello.html dans ce dossier
# Template directory setting
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates'),
)
référence: https://docs.djangoproject.com/en/2.1/topics/templates/
.
Vous devez placer le répertoire myapp dans un dossier nommé templates au niveau du répertoire de votre projet (voir l'image ci-dessous).
Structure du répertoire du projet Django
Il s'agit de la structure de projet Django par défaut. Vous pouvez modifier les chemins de répertoire par défaut en modifiant settings.py