Flaskアプリケーションを作成しようとしています。ロジックを個別のユニットに分けるために、アプリケーションに別のモジュールを追加したいと思います。別のモジュールは、「バリデータ」と呼ばれ、私の現在のディレクトリ構造は次のようになります。Flaskの同じディレクトリにあるPythonインポートモジュール
src/
validation-api/
__init__.py
api.py
validator/
__init__.py
validator.py
validation-form/
...
updater/
...
マイフラスコアプリケーションがapi.py
にあり、私がやろうとしていますValidationOptions
、ValidationResult
、およびValidationRun
はvalidator
のクラスですfrom validator import ValidationOptions, ValidationResult, ValidationRun
。
私はfrom .validator...
またはfrom ..validator
をしようとした場合、私は私はかなりモジュールやパッケージは、Pythonでどのように機能するかを理解していないエラーに
ValueError: Attempted relative import in non-package
を取得し、エラーに
ImportError: No module named validator
を取得しています。助言がありますか? api.pyの
内容:
from flask import Flask, request
from validator.validator import ValidationOptions, ValidationResult, ValidationRun
app = Flask(__name__)
@app.route("/validate", methods=["POST"])
def validate(self):
pass
if __name__ == '__main__':
app.run(debug=True)
私は、次の3つのコマンドを使用してフラスコを始めています:、私は何@ダニエル・ローズマンへ
set FLASK_APP=api
set FLASK_DEBUG=1
python -m flask run
あなたのFlaskアプリケーションの開始方法と、api.pyの内容を表示してください。 –
@DanielRoseman質問を更新しました。 localhost:5000に行くときにエラーが発生しました。 –
これらのコマンドを実行すると、どのディレクトリにいますか? –