Djangoのモデルにアクセスできるスクリプト(常時起動させる)を設定したい
websocketのAPIから取得した株の価格を、Djangoで作成したモデル(DB)に保存させたいと考えています。
チュートリアル通りにDjangoのアプリを作成し、以下のようなディレクトリ構造で常時動かしたいスクリプトを作成しました。
mysite
|-mysite
| |-settings.py
| |-...
|-polls
| |-...
|-logger
|-ticker_logger.py ←これを新規で作成しました。
これを参考に、ticker_logger.pyに以下のように記述しました。
import os
import sys
import django
sys.path.append(r'外側のmysiteフォルダへのフルパス')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', "mysite.mysite.settings")
django.setup()
from mysite.polls.models import PriceLog
すると、以下のようなエラーが発生してしまいます。
Traceback (most recent call last):
File "C:/Users/ユーザ名/PycharmProjects/WebTrader/mysite/logger/ticker_logger.py", line 14, in <module>
django.setup()
File "C:\Users\ユーザ名\.conda\envs\WebTrader\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\ユーザ名\.conda\envs\WebTrader\lib\site-packages\django\apps\registry.py", line 89, in populate
app_config = AppConfig.create(entry)
File "C:\Users\ユーザ名\.conda\envs\WebTrader\lib\site-packages\django\apps\config.py", line 116, in create
mod = import_module(mod_path)
File "C:\Users\ユーザ名\.conda\envs\WebTrader\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'polls'
どうすれば正常にモデルにアクセスできるようになるでしょうか?
チュートリアルにあるDjangoの通常の動作はすべて動いているので、おそらくticker_logger.pyの内容に問題があるものと思いますが、どう修正すればよいのかわからず困っています。
使用している環境は、Windows10, Python3.6.4, Django2.0です。
よろしくお願いいたします。