2017-01-26 15 views
1

私はRailsから来て、Djangoのプロジェクトから始めました。手動で作成したフォルダ内のモジュールをインポートできません

私は、APIから消費されたクラスを含むフォルダサービス(レールサービスのような)を作成し、データベースで取得したデータを保存したいと思います。実際には、1日に実行されるジョブです。

サービスに手動でサービスと呼ばれるフォルダを作成しました。 構造:

- root 
    - app 
    - services 
     - job_1.py 
    - migrations 
    __init__.py 
    models.py 
    apps.py 
    ... 

私は手動でフォルダを作成し、ファイルの呼び出しjob_1を追加しました。

問題は、私はjob_1.pyからモデルをインポートする必要がありますが、エラーが発生しているためにできません: "ImportError:モジュールがapp.modelsに指定されていません" モデルをインポートしようとしました移行や問題はありません。

2つの質問:

1これは、手動でフォルダサービスを作成するためのコアですか? (私は__init__.pyを追加しました)

2このエラーが発生する理由は何ですか?どうすれば解決できますか?

+0

おそらく関連する質問:http://stackoverflow.com/questions/4383571/importing-files-from-different-folder-in-python – Logan

+0

私はすでにそれを見ましたが、それは役に立たなかった。 –

+0

サービスモジュールでさえ__init__.pyが必要な場合でも、pythonはそれをjob_1パッケージを含むディレクトリとして扱います。最初はシェルで試してみてください。うまくいくはずです。 –

答えて

0

私は、次の二つのことをしようとするだろう:

  1. servicesディレクトリ内__init__.py
  2. 基本的にfrom __future__ import absolute_imports

    でそれを試してみていることを確認し、あなたが問題に実行していることができ「パッケージからモジュールをインポートしようとしていて、そのモジュールがそのパッケージから他のサブモジュールをインポートしています」。

+0

1私は__init__.pyを手動で作成しました(私は新しい空のファイルを作成してそれを指定しました)。 –

関連する問題