Jar*_*rod 16 python django django-admin
我正在关注Django的官方教程2,但由于某种原因,尽管按照我的理解正确地执行了所有步骤,但仍无法创建管理站点.
这是我得到的错误:
TemplateDoesNotExist at /admin/
admin/login.html
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Django Version: 1.3.1
Exception Type: TemplateDoesNotExist
Exception Value:
admin/login.html
Exception Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader.py in find_template, line 138
Python Executable: /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Python Version: 2.7.2
Python Path:
['/Users/jcugley/Documents/Programming/Python/Django/mysite',
'/Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
'/Library/Python/2.7/site-packages']
Server time: Tue, 24 Jan 2012 18:40:03 -0600
Run Code Online (Sandbox Code Playgroud)
取消注释以下行(注释)后发生错误:
### urls.py ###
from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin # THIS LINE
admin.autodiscover() # THIS LINE
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)), # THIS LINE
)
Run Code Online (Sandbox Code Playgroud)
如果我再次评论它,它将摆脱错误.
我也有django.contrib.admin我的settings.py中INSTALLED_APPS
Aar*_*ron 25
我遇到了同样的问题,我不得不强迫pip重新下载django.
pip install -r requirements.txt --ignore-installed --force-reinstall --upgrade --no-cache-dir
Run Code Online (Sandbox Code Playgroud)
注意:我知道该--no-cache-dir选项是必要的,我不确定其他选项是否都是必需的.
小智 9
我正在使用Django版本1.9.7,当我尝试将admin_tools(菜单和仪表板)添加到我的应用程序时,我遇到了类似的问题.我发现我必须做三件事:
编辑settings.py中的INSTALLED_APPS选项,如下所示(请注意,admin_tools位于django contrib之前,'mines'是我的应用程序的名称):
INSTALLED_APPS = [
'admin_tools',
'admin_tools.theming',
'admin_tools.menu',
'admin_tools.dashboard',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mines'
]
Run Code Online (Sandbox Code Playgroud)编辑settings.py文件中的TEMPLATE设置,如下所示(注意添加的'loaders'选项,APP_DIRS现在设置为false):
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': False,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'admin_tools.template_loaders.Loader',
],
},
}]
Run Code Online (Sandbox Code Playgroud)最后我更新了我的urls.py文件,如下所示(注意admin_tools网址的包含):
from django.conf.urls import include,url
from django.contrib import admin
from mines.views import SummaryByMapIcon
urlpatterns = [
url(r'^admin_tools/', include('admin_tools.urls')),
url(r'^admin/', admin.site.urls),
url(r'^summarybymapicon$', SummaryByMapIcon, name='summarybymapicon'),
]
Run Code Online (Sandbox Code Playgroud)我通过--no-cache-dir选项重新安装Django解决了同样的问题:
pip uninstall django
pip install django --no-cache-dir
Run Code Online (Sandbox Code Playgroud)
解决了这里的答案.
由于它适用于其他人的机器,并且由于您启用了应用程序目录加载器,在INSTALLED_APPS.您的 Django 安装有问题。
这将是开始使用 virtualenvs 和全新安装的 django 来排除您的设置的好机会:
启动终端,导航到您的项目目录(实际上无关紧要...)
pip install virtualenv # if you don't have it.
virtualenv --no-site-packages env
# this creates a virtual python environment that doesn't include system packages
source env/bin/activate
# this forces your bash session to use that environment
pip install django
# installs a fresh copy of django to your new environment
cd path_to_my_django_project
# now go to your site directory
python manager.py runserver
# visit admin site.
Run Code Online (Sandbox Code Playgroud)
就我而言,我不得不改变APP_DIRS来自False于True
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21179 次 |
| 最近记录: |