いくつかの外部スクリプトで使用するためにdjangoからいくつかのデータを取得するために使用したい私のdjangoアプリケーションの外にフォルダがあります。私はセットアップを実行したときdjango.setup()をサブディレクトリから使って、設定を参照する方法は?
は、しかし、私は以下のエラーを取得:
[[email protected] cronjobs]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "infternal.settings")
'infternal.settings'
>>> from django.conf import settings
>>> import django
>>> django.setup()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/django/__init__.py", line 22, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/usr/lib64/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/usr/lib64/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
File "/usr/lib64/python2.7/site-packages/django/conf/__init__.py", line 97, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportE
私はDjangoのフォルダの外に設定モジュールを参照してどのように?
EDIT
おかげで私はジャンゴDBから、私はすでにジャンゴで持っている機能からの情報を使用する複数の外部スクリプトを持って、私は定期的にcronでこれらのスクリプトを実行します。
これらのスクリプトを私のdjangoアプリのルートからサブディレクトリに移動してそこから実行したいと思っていましたが、今はインポート設定ができません。
古い構造:
APP
-Site
-Site
-APP
--settings.py
manage.py
script.py
スクリプトが
にここに新しい構造を正常に動作:
APP
-Cronjobs
--script.py
-Site
-Site
-APP
--settings.py
manage.py
スクリプトは、もはやあなたは、この機能を使用することができますinfternal.settings
もう少し説明しようとしていますか?外部スクリプトはdjangoを実行する必要がありますか? DBをブリッジとして使用するのは良い解決策ではありませんか?カスタムコマンドを書いていますか? –
@OrDuan iveが役に立ったとします。 – AlexW
infternal.settingsをインポートできますか? –