TemplateDoesNotExist à l' /
Hej! Nombre de threads ici avaient la même légende, mais aucun n'a résolu mon problème. J'ai un site Django un accès et /ou admin (mais il semble laid). Mais sur /il semble que la page d'erreur suivant (DEBUG = True
dans settings.py
):
TemplateDoesNotExist at /
index.html
Request Method: GET
Request URL: http://iecl.uni-potsdam.de/
Django Version: 1.4.5
Exception Type: TemplateDoesNotExist
Exception Value:
index.html
Exception Location: /usr/lib/python2.7/dist-packages/django/template/loader.py in find_template, line 138
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:
['/home/python/iecl/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg',
'/home/python/iecl/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/pymodules/python2.7',
'/home/python/iecl/lib/python2.7/site-packages',
'/home/django/django']
Server time: Mon, 7 Apr 2014 11:28:46 +0200
Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/home/django/django/templates/iecl_dev/index.html (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
/usr/lib/python2.7/dist-packages/django/contrib/auth/templates/index.html (File does not exist)
/usr/lib/python2.7/dist-packages/django/contrib/admin/templates/index.html (File does not exist)
En fait, le fichier /home/django/django/templates/iecl_dev/index.html n'existe pas et j'ai aussi essayé chmod o+r index.html
sans succès.
La sortie de python iecl_dev/manage.py runserver 0.0.0.0:0
est
Validating models...
0 errors found
Django version 1.4.5, using settings 'iecl_dev.settings'
Development server is running at http://0.0.0.0:0/
Quit the server with CONTROL-C.
donc, tout semble très bien ici.
Ce qui me confond: La *.pyc fichiers sont créés automatiquement lors de l' *.py fichiers sont exécutés, à droite? Après python iecl_dev/manage.py runserver 0.0.0.0:0
il y a un fichier /home/django/django/iecl_dev/settings.pyc
créé. Mais il n'est pas créé, lorsque je charge la page dans mon navigateur web. Est-ce à dire, le settings.py n'est jamais chargé? Et comment peut-Django-dire un fichier qui existe, n'existerait pas?
Edit1:
Mon settings.py se présente comme suit:
import django.conf.global_settings as DEFAULT_SETTINGS
import os
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
)
SETTINGS_PATH = os.path.realpath(os.path.dirname(__file__))
MANAGERS = ADMINS
DATABASES = { $
'default': { $
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'iecl', # Or path to database file if using sqlite3.
'USER': 'iecl', # Not used with sqlite3.
'PASSWORD': '<xxx>', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3. $
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
TIME_ZONE = 'Europe/Berlin'
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
USE_I18N = True
MEDIA_ROOT = '/var/www/django_media/iecl_dev/media/'
MEDIA_URL = ''
ADMIN_MEDIA_PREFIX = '/media/admin_media/'
SECRET_KEY = '<xxx>'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'iecl_dev.urls'
TEMPLATE_DIRS = (
os.path.join(SETTINGS_PATH, 'templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'iecl_dev.showStudents',
'django.contrib.admin',
)
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
)
Edit2:
The contents of `/home/django/django/` are as follows:
/home/django/django/:
iecl2
iecl_dev
templates
/home/django/django/iecl2:
__init__.py
__init__.pyc
manage.py
settings.py
settings.pyc
showStudents
urls.py
urls.pyc
/home/django/django/iecl2/showStudents:
__init__.py
__init__.pyc
admin.py
context_processors.py
models.py
models.pyc
views.py
views.pyc
/home/django/django/iecl_dev:
__init__.py
__init__.pyc
manage.py
piwik
settings.py
settings.pyc
showStudents
urls.py
urls.pyc
/home/django/django/iecl_dev/piwik:
__init__.py
app_settings.py
context_processors.py
models.py
tests.py
urls.py
views.py
/home/django/django/iecl_dev/showStudents:
__init__.py
__init__.pyc
admin.py
context_processors.py
models.py
models.pyc
views.py
/home/django/django/templates:
iecl
iecl_dev
/home/django/django/templates/iecl:
500.html
admin
changePW.html
editStudent.html
feedback.html
feedback_thanks.html
index.html
location.html
login.html
page.html
password_changed.html
showStudent.html
studentsOverview.html
/home/django/django/templates/iecl/admin:
404.html
500.html
actions.html
app_index.html
auth
base.html
base_site.html
change_form.html
change_list.html
change_list_results.html
date_hierarchy.html
delete_confirmation.html
delete_selected_confirmation.html
edit_inline
filter.html
includes
index.html
invalid_setup.html
login.html
object_history.html
pagination.html
prepopulated_fields_js.html
search_form.html
showStudents
submit_line.html
/home/django/django/templates/iecl/admin/auth:
user
/home/django/django/templates/iecl/admin/auth/user:
add_form.html
change_password.html
/home/django/django/templates/iecl/admin/edit_inline:
stacked.html
tabular.html
/home/django/django/templates/iecl/admin/includes:
fieldset.html
/home/django/django/templates/iecl/admin/showStudents:
pagecontent
userpagecontent
/home/django/django/templates/iecl/admin/showStudents/pagecontent:
change_form.html
/home/django/django/templates/iecl/admin/showStudents/userpagecontent:
change_form.html
/home/django/django/templates/iecl_dev:
500.html
__init__.py
admin
changePW.html
editStudent.html
feedback.html
feedback_thanks.html
index.html
location.html
login.html
page.html
password_changed.html
piwik
showStudent.html
studentsOverview.html
/home/django/django/templates/iecl_dev/admin:
404.html
500.html
actions.html
app_index.html
auth
base.html
base_site.html
change_form.html
change_list.html
change_list_results.html
date_hierarchy.html
delete_confirmation.html
delete_selected_confirmation.html
edit_inline
filter.html
includes
index.html
invalid_setup.html
login.html
object_history.html
pagination.html
prepopulated_fields_js.html
search_form.html
showStudents
submit_line.html
/home/django/django/templates/iecl_dev/admin/auth:
user
/home/django/django/templates/iecl_dev/admin/auth/user:
add_form.html
change_password.html
/home/django/django/templates/iecl_dev/admin/edit_inline:
stacked.html
tabular.html
/home/django/django/templates/iecl_dev/admin/includes:
fieldset.html
/home/django/django/templates/iecl_dev/admin/showStudents:
pagecontent
userpagecontent
/home/django/django/templates/iecl_dev/admin/showStudents/pagecontent:
change_form.html
/home/django/django/templates/iecl_dev/admin/showStudents/userpagecontent:
change_form.html
/home/django/django/templates/iecl_dev/piwik:
tracking.html
Edit3:
Ok. C'est résolu pour moi maintenant. La solution était un conglomérat de différentes choses. L'un des problèmes est le manque de droits. L'utilisateur qui exécute Django, ne pouvait liste du contenu du répertoire templates/. chmod o+x templates/
a fait le travail. Puis il y avait certains paramètres dans le settings.py, qui a changé le lieu de regarder pour les modèles à partir de modèles/iecl_dev/à iecl_dev/templates/. J'ai vu ce mauvais chemin dans le message d'erreur de mon navigateur internet. Mais simplement de revenir à la settings.py à l'ancienne version, n'était pas assez. Certains de service(s) besoin d'être redémarré. J'ai simplement redémarré la machine et que tout allait bien. Miraculeusement, l' /admin/page maintenant a l'air sympa aussi.
Merci beaucoup pour tous vos conseils.
- Et lorsque vous essayez de rendre votre modèle.
- Voir ma réponse ici, si il n'est pas encore fixée, stackoverflow.com/a/32358905/303681
Vous devez vous connecter pour publier un commentaire.
De ce que vous avez montré, je pense que vous avez un problème avec votre projet d'agencement.
Généralement, il est défini comme suit :
Comme vous pouvez le voir, chaque application à l'intérieur de votre projet peut avoir son propre
templates
répertoire.yourproject
c'est un peu particulière, car il contient également des fichiers uniques, tels quesettings.py
etwsgi.py
. Cependant, vous pouvez examiner et l'utiliser comme une application.Maintenant, si vous voulez utiliser un modèle stocké dans
yourproject/templates
, vous aurez à ajouteryourproject
à votreINSTALLED_APPS
paramètres.Prend-il en aide ? Si non, pouvez-vous modifier votre message d'origine avec votre projet d'agencement ?
La raison pourrait être que django est d'essayer de regarder pour votre répertoire de modèles dans le répertoire avec votre setting.py fichier
Alors qu'en fait le répertoire des modèles est dans le répertoire parent.
Essayez de faire quelque chose comme ceci dans votre settings.py
L'erreur est due en général à mal configuré répertoire de modèles de
J'ai perdu beaucoup de temps à essayer de comprendre ce qui n'allait pas avec mon
'templates'
répertoire et compris :Vous avez oublié d'ajouter
TEMPLATE_DIR
dans le segment suivant desettings.py
:Ils devraient donc avoir
'DIRS': [TEMPLATE_DIR,],
au lieu de'DIRS': [],