2017-03-01 14 views
0

Djangoでは、私はgopをrepoからpullで更新しました。そして私がpython3 manage.py collectstaticを実行すると、 "myproject"データベースが存在しません。プロダクションデータベースにprod_projectデータベースしかないので、本当に私はmyprojectデータベースを持っていません。あなたがそれらを区切る場合生産と開発のためのDjangoプロジェクト設定

/.git 
etc/ 
apps/ 
static/ 
myproject/ 
    settings/ 
    base.py 
    prod.py. 
    beta.py 
    wsgy.py 
manage.py 
+0

manage.pyを開いて内部のコードを見ると、どの設定を使用するかを知ることができます。環境ごとに正しいファイルを使用するように操作できます。 – Neelik

+0

Thxの返信です。 manage.pyでは、__name__ == "__main__"のように書かれています: os.environ.setdefault( "DJANGO_SETTINGS_MODULE"、 "myproject.settings") –

答えて

0

、設定内ののinitの.pyも変更しました。私はそれについて知らなかった。私が知っている開発者は、私にこのファイルをチェックするように勧めました。私は、異なる設定ファイルがデフォルトとして設定されていることを発見しました。私はそれを訂正した。今それは働いています。

2

:しかし、何とかbase.pyからmyprojectにデータベースをロードしようとしているのではなく

# base.py 
    DATABASES = {                   
      'default': {                  
       'ENGINE': 'django.db.backends.postgresql_psycopg2',       
       'NAME': 'myproject',              
       'USER': 'admin',                
       'PASSWORD': '*****', 
       'ATOMIC_REQUESTS': True,                
      },                    
     } 

# prod.py 
    from .base import *                 

    DEBUG = False                   
    TEMPLATE_DEBUG = DEBUG                

    DATABASES = {                   
     'default': {                  
      'ENGINE': 'django.db.backends.postgresql_psycopg2',       
      'NAME': 'prod_myproject',              
      'USER': 'admin',                
      'PASSWORD': '',                
     },                    
    }                      

    try:                     
     from .local import *                
    except ImportError:                 
     pass 

# local.py is empty file 

prod.pyからロードされたDjangoの私のプロジェクトには、アプリケーション/プロジェクト/ PRODフォルダ内にあります2 settings.py、どのsettings.pyを使用するか宣言する必要があります!

あなたは、以下の(mod_wsgiの)でこれを行うことができます。

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'your_proj/settings_location/prod' 

これは、特定の設定ファイルを使用するには、ジャンゴを設定します。

か、シェルでこれを行うことができます。

python manage.py collectstatic --settings=your_proj/settings_location/prod 

これは設定が必要なファイルを指定します。

参考:私はgitのプルをしたときhttps://docs.djangoproject.com/en/1.10/topics/settings/#on-the-server-mod-wsgi

+0

Thxですが、私はgunicornを使用しています –

+0

その後、wsgi .pyファイル代わりに – Beomi

+1

を使用したい場合は、manage.pyファイルに追加するだけです。 – Beomi

関連する問題