AdminSite'对象没有属性'root

1 投票
3 回答
4113 浏览
提问于 2025-04-17 13:58
    Environment:


Request Method: GET
Request URL: http://54.235.168.5/mds/

Django Version: 1.3.1
Python Version: 2.7.3
Installed Applications:
['sana.mrs',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'sana.mrs.util.LoggingMiddleware')


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  101.                             request.path_info)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
  250.             for pattern in self.url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in _get_url_patterns
  279.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in _get_urlconf_module
  274.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/opt/sana/urls.py" in <module>
  131.     (r'^admin/(.*)', admin.site.root),

Exception Type: AttributeError at /
Exception Value: 'AdminSite' object has no attribute 'root'

可能有重复的问题,链接是 如何解决这个错误:“'Adminsite'对象没有'root'属性”

在里面提到:

url(r'^admin/', include(admin.site.urls))

你的管理员网址应该是:

不是 (r'^admin/(.*)', admin.site.root) - 这个是针对Django 1.0的,Django 1.3就不适用了。

然后我遇到了这个错误:

NameError at / 名字 'include' 没有定义。

    Environment:

Request Method: GET
Request URL: http://54.235.168.5/mds/

Django Version: 1.3.1
Python Version: 2.7.3
Installed Applications:
['sana.mrs',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'sana.mrs.util.LoggingMiddleware')


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  101.                             request.path_info)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
  250.             for pattern in self.url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in _get_url_patterns
  279.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in _get_urlconf_module
  274.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/opt/sana/urls.py" in <module>
  132.  url(r'^admin/', include(admin.site.urls))

Exception Type: NameError at /
Exception Value: name 'include' is not defined

我正在使用Django版本1.3.1。

3 个回答

1

你可能没有导入它:

from django.conf.urls.defaults import include

一般来说,当出现“某个东西 未定义”的提示时,意思是编译器找不到这个东西。这通常是因为缺少导入语句或者拼写错误造成的。

2

你在你的 urls.py 文件里有这个吗?

from django.conf.urls.defaults import patterns, include, url
1

看起来你在你的 urls.py 文件里忘记写 from django.conf.urls.defaults import * 或者 from django.conf.urls.defaults import include 了。

撰写回答