操作错误: "site" 异常值: 没有此表 django_site

0 投票
1 回答
3839 浏览
提问于 2025-04-18 15:45

我以为我已经把我的项目正确地上传到了一个叫 asmallorange 的远程服务器上,但我一直遇到问题。

这是我做的事情:

我按照这个页面上的所有说明进行了操作:
https://help.asmallorange.com/index.php?/Knowledgebase/Article/View/305/0/install-django-using-virtualenv

然后我检查了我的网站(angusrchen.com),看到一个默认的“欢迎使用 Django!”页面。好吧,这说明 Django 安装得没问题。

接着我用 FileZilla 上传了我的项目文件到我在远程服务器上创建项目的目录。

我运行了:
$ python manage.py syncdb

没有错误,然后我又运行了:
$ python manage.py collectstatic

也没有错误。

现在遇到两个问题:

当我访问我的网页时,Base.html 加载了,但似乎没有任何 JavaScript 在工作。

而且现在当我尝试访问任何 Django 页面(比如 /admin 或 /blog)时,出现了这个错误:

错误信息如下:

OperationalError at /blog/
no such table: django_site
Request Method: GET
Request URL:    http://angusrchen.com/blog/
Django Version: 1.6.5
Exception Type: OperationalError
Exception Value:    no such table: django_site
Exception Location: /home/angusrch/.env/env/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py in execute, line 451
Python Executable:  /home/angusrch/.env/env/bin/python
Python Version: 2.7.6
Python Path:    ['/home/angusrch/.env/env/lib/python2.7/site-packages',
'/home/angusrch/public_html',
'/home/angusrch/.env/env/lib/python27.zip',
'/home/angusrch/.env/env/lib/python2.7',
'/home/angusrch/.env/env/lib/python2.7/plat-linux2',
'/home/angusrch/.env/env/lib/python2.7/lib-tk',
'/home/angusrch/.env/env/lib/python2.7/lib-old',
'/home/angusrch/.env/env/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk']
Server time:    Sat, 2 Aug 2014 11:18:06 -0500



Environment:


Request Method: GET
Request URL: http://angusrchen.com/blog/

Django Version: 1.6.5
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.comments',
 'django.contrib.sites',
 'tagging',
 'mptt',
 'blog',
 'zinnia')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  112.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/views/generic/base.py" in view
  69.             return self.dispatch(request, *args, **kwargs)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  87.         return handler(request, *args, **kwargs)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/views/generic/dates.py" in get
  333.         self.date_list, self.object_list, extra_context = self.get_dated_items()
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/views/generic/dates.py" in get_dated_items
  414.         qs = self.get_dated_queryset(ordering='-%s' % self.get_date_field())
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/views/generic/dates.py" in get_dated_queryset
  350.         qs = self.get_queryset().filter(**lookup)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/zinnia/views/mixins/prefetch_related.py" in get_queryset
  25.         return super(PrefetchRelatedMixin, self
File "/home/angusrch/.env/env/lib/python2.7/site-packages/zinnia/views/mixins/callable_queryset.py" in get_queryset
  20.         return self.queryset()
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/manager.py" in all
  133.         return self.get_queryset()
File "/home/angusrch/.env/env/lib/python2.7/site-packages/zinnia/managers.py" in get_queryset
  46.             super(EntryPublishedManager, self).get_queryset())
File "/home/angusrch/.env/env/lib/python2.7/site-packages/zinnia/managers.py" in entries_published
  33.         status=PUBLISHED, sites=Site.objects.get_current())
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/contrib/sites/models.py" in get_current
  47.             current_site = self.get(pk=sid)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/manager.py" in get
  151.         return self.get_queryset().get(*args, **kwargs)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/query.py" in get
  304.         num = len(clone)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/query.py" in __len__
  77.         self._fetch_all()
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all
  857.             self._result_cache = list(self.iterator())
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/query.py" in iterator
  220.         for row in compiler.results_iter():
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in results_iter
  713.         for rows in self.execute_sql(MULTI):
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  786.         cursor.execute(sql, params)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/backends/util.py" in execute
  69.             return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/backends/util.py" in execute
  53.                 return self.cursor.execute(sql, params)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/utils.py" in __exit__
  99.                 six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/backends/util.py" in execute
  53.                 return self.cursor.execute(sql, params)
File "/home/angusrch/.env/env/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py" in execute
  451.         return Database.Cursor.execute(self, query, params)

Exception Type: OperationalError at /blog/
Exception Value: no such table: django_site

1 个回答

2

你的错误信息表明,你的数据库里没有名为 django_site 的表。

你可以先检查一下数据库,看看这个表是不是确实存在。同时,确认一下在设置里你访问的是正确的数据库(如果你的服务器上有多个数据库的话)。

另外,确保在开发环境中一切正常。如果没问题,你可以把开发环境中的数据库复制到服务器上,或者直接删除服务器上的数据库,然后再运行 syncdb 一次。

另外:我觉得如果你无法访问数据库,你会看到其他错误信息,但也要检查一下文件权限,可能这也会导致问题。

撰写回答