djangoで独自モジュールのファイルを作ってimportしてみる

2022年5月3日

djangoで独自モジュールのファイルを作ってimportしてみる

djangoと言うわけではありませんが、外部ファイルの自作モジュールをimportする方法です。
なんでもかんでもviews.pyに書いているとコードが肥大化してしまうし、役割によってはコードを分けたくなると思います。
そんな時は下の手順でコードを分けてみましょう。

階層


.
└── app
    ├── views_modules   #1.ディレクトリ作成
    │   ├── __init__.py #2.initファイル作成
    │   └── module.py   #3.モジュール作成
    └── views.py        #4.インポート&モジュール使用

1:ディレクトリをviws.pyと同じ階層に作成しました。

2:「#1」の中に作成しました。これはパッケージごとに名前空間を定義しているみたいです。

参考:Python の init.py とは何なのか

コード

3:モジュールを作成します。

下記のような関数を用意してみました。
ただの「hello」を返すだけの関数ですね。


def say_something():
    voice = "hello"
    return voice

4:インポート


#--独自モジュール--------------------------------------
from app.views_modules import module

4モジュール使用


def my_module(request):
    voice = module.say_something()
    context = {
        'voice': voice 
    }
    return render(request, 'app/my_module.html', context)

2022年5月3日