外縁部:re

学んだことのメモです: Notebook of Study

Flaskのimportでつまずいた話(Python の import を階層構造で )

Flask を学習し始めたのですが、

__init__.py

from flask import Flask

app = Flask(__name__)
from app import views

としててのっけから??となってしまいました。

  1. なんで一番下でもっかいimport?
  2. appなんてモジュール入れてないよ?

と。

1は
Larger Applications — Flask Documentation (0.10)
のCircular Importsに書いてあったのですが、循環importを解決するのにそうしてるとのこと(はっきり理解したわけではないのでまた調べたいです)

2はディレクトリの構造が

app
  |-__init__.py
  |-views.py

となってたのですが、__init__.pyがあるとそこのフォルダ(今回はapp)をまるっとモジュールとして扱えるようになるんですね(パッケージ化)。
6. モジュール — Python 2.7.x ドキュメント
それでfrom app import viewsなんて出来たのだと。

まだ勉強中ですが、ちょこちょこ備記録代わりに上げてけたらなあと