Django 管理页面错误
Posted
技术标签:
【中文标题】Django 管理页面错误【英文标题】:Django admin page error 【发布时间】:2011-07-24 23:40:36 【问题描述】:我正在创建一个 Django 应用程序。这样做我启用了 Django 管理站点,我可以看到它工作正常。然后我创建了一些模型并通过我的应用程序中的表单将数据插入其中。但我无法通过 Django 的管理面板查看输入的值。我发现这是因为我的应用程序文件夹中没有包含 admin.py 文件。然后我创建了一个 admin.py 文件,运行 syndb 并尝试了。现在它抛出一个错误
ImportError at /admin/
No module named UniversityDetails.models
我将粘贴我的 admin.py、models.py 和项目文件夹结构。请帮我解决这个问题。
Models.py
from django.db import models
class UniversityDetails(models.Model):
firstName = models.CharField(max_length=200)
lastName = models.CharField(max_length=200)
email = models.EmailField()
password = models.TextField()
birthday = models.TextField()
sex = models.CharField(max_length=10)
admin.py
from universityDetails.models import *
from django.contrib import admin
admin.site.register(UniversityDetails)
项目名称:universityDB 应用程序名称:universityDetails
追溯
Environment:
Request Method: GET
Request URL: http://10.1.0.90:8080/admin/
Django Version: 1.2.5
Python Version: 2.6.5
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'universityDetails',
'django.contrib.admin']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
91. request.path_info)
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in resolve
215. for pattern in self.url_patterns:
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in _get_url_patterns
244. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in _get_urlconf_module
239. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/rv/Desktop/universityDB/../universityDB/urls.py" in <module>
5. admin.autodiscover()
File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/__init__.py" in autodiscover
24. import_module('%s.admin' % app)
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/rv/Desktop/universityDB/universityDetails/admin.py" in <module>
1. from UniversityDetails.models import *
Exception Type: ImportError at /admin/
Exception Value: No module named UniversityDetails.models
【问题讨论】:
我以为您说您将第 1 行更改为我的版本?将导入行更改为from universityDB.universityDetails.models import *
时的回溯是什么?
这是你告诉我修改的回溯。
这条回溯表明universityDetails/admin.py
的第 1 行是from UniversityDetails.models import *
- 你在重启服务器吗?
是的...我正在重新启动服务器...!
太奇怪了.. 一条不存在的行出现在回溯中。我只看到过这样的事情,旧的.pyc
文件到处乱放并造成混乱。尝试删除您的 .pyc 文件。否则,这超出了我的范围。祝你好运 rv_k!我要睡觉了。
【参考方案1】:
尝试将模型名称中的 managed = false (删除模型类的 meta 中的 managed = false)
【讨论】:
【参考方案2】:使用以下内容:
从模型导入 *
并将您的 admin.py 文件放入模型文件夹中
【讨论】:
【参考方案3】:试试
from universityDB.universityDetails.models import *
from django.contrib import admin
class UniversityDetailsAdmin(admin.ModelAdmin):
fields = ['firstName ', 'lastName ']
list_display = ('firstName ', 'lastName ')
search_fields = ['firstName ', 'lastName ']
admin.site.register(UniversityDetails,UniversityDetailsAdmin)
【讨论】:
试试from universityDB.universityDetails.models.UniversityDetails
【参考方案4】:
典型的 django 设置将项目的父目录放在 Python 路径上,这意味着您的模型通过 MyProject.MyApp.models
解析
如果您可以导入universityDB
(您需要这样做,否则您会遇到更多/不同的问题),您应该将admin.py
的第1 行更改为from universityDB.universityDetails.models import *
,然后您就应该设置好了。
【讨论】:
那没有解决我的问题..我做了你告诉的改变..仍然抛出同样的错误。我有一个登录和注册页面,它对我现在选择的所有页面都抛出相同的错误.. 什么文件的哪一行触发了这个错误?错误提示没有名为UniversityDetails.models
的模块——您是否将 universityDetails
错误地输入为 UniversityDetails
?
异常位置是“异常位置:/home/rv/Desktop/universityDB/universityDetails/admin.py in UniversityDetails
,而您没有在任何地方指定。当您将行更改为我上面写的内容时,会发生完全相同的异常?【参考方案5】:
听起来 UniversityDetails 不在您的 python 路径中,您添加了吗?
【讨论】:
如何将其添加到 python 路径中?以上是关于Django 管理页面错误的主要内容,如果未能解决你的问题,请参考以下文章
Django:如何使用 handler500 重定向到前端服务器页面并接收管理错误电子邮件
我无法使用有效的用户名和密码登录 Django 管理页面,它返回 % csrf_token % 禁止的 404 错误消息