python - 无法同步数据库 “DatabaseError: no such table: django_site”

标签 python django git virtualenvwrapper

我已经问过这个问题一次但没有得到答案,我已经阅读了我可以在 Internet 上找到的发生此错误的每个示例,所以我将再次尝试在这里获取更多信息。

我正在尝试: 克隆一个远程存储库,然后我将在我的开发机器上实时运行以用于开发目的。

我遇到的问题: 从网络服务器克隆我的 repo 后,使用 pip requirements.txt 将依赖项安装到我的 virtualenv 中,我尝试 syncdb 构建数据库并允许我使用 runserver 运行服务器但是当我尝试这样做时我得到错误“DatabaseError:没有这样的表:django_site”输出。

我尝试过的: 从我的 installed_apps 中注释掉 django-contrib-sites。在安装和不安装 --ignore-installed 的情况下使用 pip 手动安装 django_sites,pip 表示“已成功安装 django-sites django”,但仍然出现错误。我试图“迁移”和“迁移--all”,但我得到了同样的错误。我还验证了数据库 db.sqlite3 是 settings.py 中指定的数据库,并且位于正确的位置。

installed_apps -

INSTALLED_APPS = (
    'south',
    'django.contrib.flatpages',
    'django.contrib.comments',
    'django.contrib.markup',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.sitemaps',

)

其中一些是以前开发人员自制的应用程序。

.bashrc 中的行

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/projects
source /etc/bash_completion.d/virtualenvwrapper

最后一行是因为我在这台开发机器上使用的是 Ubuntu,对此不是 100% 确定,但在启动 bash 时我没有遇到任何错误。

部署文件夹 不确定这是什么,它有我的 requirements.txt 和一些其他文件: - httpd.conf - nowww.htaccess - 复数.htaccess - 要求.txt - ssl.htaccess - wsgi.py

我正在使用的进程

create virtualenv with mkvirtualenv envname

pip install django

git ssh clone from remote to local folder

pip install -r requirements.txt from repo

./manage.py syncdb

DatabaseError: no such table: django_site

我真的需要解决这个问题,因为它阻止我在家里部署我的开发服务器并进行远程工作。如果有人可以提供帮助,我保证会详细说明答案,如果结果证明这是一个复杂的解决方案,我什至会在某个地方建立一个教程页面。

最佳答案

我也受到了这个问题的影响。

@tuxcanfly 你说的是真的,但由于某些原因,即使设置了 BLOG_NAME,也会对 Site.objects.get_current().name 表达式进行求值在 settings.py 中。

我已针对此问题向 GitHub 发布了一张票(和一个补丁): https://github.com/pigmonkey/django-vellum/issues/3

使用 try/catch 而不是 gettattr 修复它: https://github.com/AndreMiras/django-vellum/commit/9c242e16dc62c218e075554c5f5c5bc590df8265

关于python - 无法同步数据库 “DatabaseError: no such table: django_site”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837777/

相关文章:

python - 如何创建脚本以在我的 ARM conda 和 x86 conda 之间切换?

python - FieldError : Invalid field name(s) given in select_related: 'userinfo' . 选择是:用户信息

git - Rubymine:如何让 Git 忽略由 Rubymine 创建的 .idea 文件

git filter-branch 只改变受影响的提交

python - 我怎样才能加速这个数据帧?

python - 从网页上的 anchor 标记访问详细信息

python - 在 Python 中迭代具有潜在条件的大型列表

python - 如何在python,django中将url解码为路径

git fast-import --export-marks 标志

Python:删除列表中重复项之间的部分