5

私はすでにこの質問を 1 回しましたが、答えが得られませんでした。このエラーが発生した例をすべて読みました。

私が試みていること: 開発目的で開発マシンでライブで実行するリモート リポジトリのクローン作成。

私が抱えている問題: webserver からレポを複製した後、pip requirements.txt を使用して依存関係を virtualenv にインストールします。エラー「DatabaseError: no such table: django_site」出力を取得します。

私が試したこと: installed_apps から django-contrib-sites をコメントアウトします。--ignore-installed を使用して、または使用せずに pip を使用して django_sites を手動でインストールすると、pip は「django-sites django が正常にインストールされました」と表示しますが、それでもエラーが発生します。「migrate」と「migrate --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 とその他のファイルがあります。

私が使用しているプロセス

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: そのようなテーブルはありません: django_site

自宅の開発サーバーにデプロイしてリモート作業を行うことができないため、これを理解する必要があります。誰かが助けてくれれば、答えを詳しく説明し、複雑な解決策であることが判明した場合はどこかにチュートリアルページを作成することを約束します.

4

3 に答える 3

1

私もこの問題の影響を受けました。

@tuxcanflyあなたが言っていることは本当ですが、何らかの理由でが設定されSite.objects.get_current().nameていても式が評価されます。BLOG_NAMEsettings.py

この問題のチケット (およびパッチ) を GitHub に投稿しました: https://github.com/pigmonkey/django-vellum/issues/3

修正する のtry/catchではなく、使用してください: https://github.com/AndreMiras/django-vellum/commit/9c242e16dc62c218e075554c5f5c5bc590df8265gettattr

于 2013-09-21T17:48:02.630 に答える
1

インストール済みのアプリから南を削除してみてください。次に、syncdb を追加し、south を追加して --all に移行します

これを理解する前に、私はこの問題を何年もの間繰り返しました

于 2013-09-16T21:54:48.840 に答える