J'étudiais pour apprendre Django, mais j'ai trébuché sur le chemin, alors j'ai pensé que c'était peut-être ce problème et je l'ai étudié.
relative path Comment appeler un fichier en fonction de votre répertoire actuel. Écrivez un chemin en fonction du paysage que vous voyez d'où vous êtes
Puisque je pratique Django, je vais l'expliquer en référence à ce qui suit. Le répertoire actuel ressemble à ce qui suit.
/Users/Nom d'utilisateur/Projects/python/dj/mysite
C'est la structure des fichiers du répertoire mysite.
.
├── books
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── admin.py
│ ├── admin.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── views.py
│ └── views.pyc
├── manage.py
├── mydb
Maintenant, je suis à l'endroit d'origine (répertoire mysite). Si vous appelez admin.py dans des livres avec un chemin relatif,
books/admin.py
Simplement fais-le. Est-ce facile?
absolute path Écrivez le chemin en fonction de la vue de la racine de l'ordinateur. Appelez où que vous soyez.
En utilisant le même exemple que ci-dessus,
/Users/Nom d'utilisateur/Projects/python/dj/mysite
Bref, ouvrez le terminal
pwd
Il semble que je vais entrer dans le chemin qui est sorti.
Après tout, même si j'enquêtais là-dessus et essayais les deux, je ne pourrais pas résoudre le mystère de l'original. Même si je suis allé dans le répertoire où le modèle existe et que je l'ai appelé avec le nom correct
template does not exist
C'était difficile de continuer à se faire dire.
Après avoir enquêté pendant deux jours, j'étais inquiet
import os
PATH_PROJECT = os.path.realpath(os.path.dirname(__file__))
Et à TEMPLATE_DIR
PATH_PROJECT + '/templates/'
J'ai réussi à le résoudre. C'est encore un mystère.
Je pensais que c'était résolu! Il semble que la manière d'écrire le point de référence du chemin absolu soit différente, donc si vous appelez ** pwd ** avec le shell et que vous le frappez, mettez le chemin qui est sorti dans TEMPLATE_DIR et ce sera un grand succès!
Il y a des choses qui peuvent être résumées.
Recommended Posts