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

2020年12月21日

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)

関連のある書籍

2020年12月21日