2017-09-18 31 views
0

ConfigParserクラスを使用して.iniファイル(サードパーティのRESTサービス用のURLを含む)から情報を復元するための.pyファイルが必要でしたが、しかし今はそうではありません。アプリの構造は次のとおりです。Django。コードフォルダ内の.iniファイルを使用

app 
    folder 
     file.py 
     urls.ini 

私は、これが原因以下の通りです、私の静的ファイルの設定にあると仮定します。

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 

# Extra places for collectstatic to find static files. 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
) 

私は地元の発展の両方に互換性のあった設定をmantainしたかったので、これであり、 Herokuのウェブ制作エスコノシナリオ(これはおそらくウェブのコードでテストすることができます)。私はそれを作って、たくさんのものを変える必要はなかった。

ありがとうございます。

答えて

0

ファイルを読み込もうとしている場合は、ルートを取得する必要があります。あなたはDjangoのフォルダに静的なフォルダを持っている場合

この

ini = open("%s/folder/yourfile.ini" % BASE_DIR, "r") 

をやって、あなたの.iniファイルを取得するには簡単なこと。そして、あなたのファイルの行を読むことができました。

私の意見では、設定用の.pyファイルは.iniファイルよりも簡単で、settings.pyパラメータなどに応じて多くのファイルをロードすることができます。

編集:それはジャンゴで提供settings.pyファイル内の変数ですので、しかし、Djangoの設定ファイルの変数

from django.conf import settings 
BASE_DIR = settings.BASE_DIR 
+0

を使用するために、私はBASE_DIRにはアクセスできません。私がアクセスするはずの階層の最上位にあり、私は以下の3つのレベルのようです。 私の問題は、Djangoが展開したときにiniファイルには、私は私が見る – Lan5432

+0

を知らないもの、であるあなたが使用したい場合は、Djangoの設定にアクセスできる場所であるかもしれない: を 'django.conf輸入settings' からまた、次のコードを使用して、 "BASE_DIR"変数を "複製"することもできます。 'import os' ' BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__ file __))) ' –

+0

私がここで間違っているとお詫びしますが、 '' __file __ "'は私のiniファイルに至るまで道を行くでしょう。私はトップレベルにいることを確認したい。 "django.conf"の使用に関する示唆は、魅力的なものですが、ありがたいです!あなたの答えを正しいものとしてタグ付けしたいのですが、他の人の設定をインポートする部分を追加できますか?それが大丈夫だと思ったら – Lan5432

関連する問題