gpt4 book ai didi

python - 模板不存在于/

转载 作者:太空狗 更新时间:2023-10-29 21:14:05 25 4
gpt4 key购买 nike

嘿!这里的许多线程都有相同的标题,但没有一个能解决我的问题。我有一个可以访问/admin 的 Django 站点(但它看起来很丑)。但是在/上出现如下错误页面(DEBUG = True in 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)

事实上,文件/home/django/django/templates/iecl_dev/index.html 确实存在,我也试过 chmod o+r index.html 没有成功。

python iecl_dev/manage.py runserver 0.0.0.0:0的输出是

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.

所以这里一切似乎都很好。

令我困惑的是: *.pyc 文件是在运行 *.py 文件时自动创建的,对吗?在 python iecl_dev/manage.py runserver 0.0.0.0:0 之后,创建了一个文件 /home/django/django/iecl_dev/settings.pyc。但是当我在网络浏览器中加载页面时,它并没有被创建。这是否意味着 settings.py 永远不会加载? Django 怎么能说存在的文件不存在呢?

编辑¹:
我的 settings.py 如下所示:

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 + (
)

编辑²:

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

编辑³:
好的。现在这对我来说已经解决了。解决方案是不同事物的联合体。问题之一是缺少权利。执行 Django 的用户无法列出 templates/目录的内容。 chmod o+x templates/ 完成了这项工作。然后在 settings.py 中有一些设置,将查找模板的位置从 templates/iecl_dev/更改为 iecl_dev/templates/。我在网络浏览器的错误消息中看到了这个错误的路径。但是仅仅将 settings.py 恢复到旧版本是不够的。某些服务需要重新启动。我只是重新启动了机器,一切都很好。奇迹般地,/admin/页面现在看起来也不错。

非常感谢您提供的所有提示。

最佳答案

根据您展示的内容,我认为您的项目布局可能有问题。

通常是这样设置的:

├── manage.py
├── yourproject
│   ├── __init__.py
│   ├── settings.py
│   ├── templates
│   ├── urls.py
│   ├── wsgi.py
│   └── wsgi.pyc
├── yourfirstapp
│   ├── __init__.py
│   ├── admin.py
│   ├── models.py
│   ├── templates
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── yoursecondapp
├── __init__.py
├── admin.py
├── models.py
├── templates
├── tests.py
├── urls.py
└── views.py

如您所见,项目中的每个应用程序都可以拥有自己的 templates 目录。yourproject 有点特殊,因为它还存储独特的文件,例如 settings.pywsgi.py。但是,您可以考虑将其用作应用程序。

现在,如果您想使用存储在 yourproject/templates 中的模板,您必须将 yourproject 添加到您的 INSTALLED_APPS 设置中.

有帮助吗?如果没有,您可以使用您的项目布局编辑您的原始帖子吗?

关于python - 模板不存在于/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22909010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com