Navigation

Related Articles

Back to Latest Articles

Djangoでモジュールを作りviews.pyからimportして呼び出す


press
Djangoでモジュールを作りviews.pyからimportして呼び出す

Djangoでモジュールを作りviews.pyからimportして呼び出す方法です。

同じ処理を何度も書いたり、同じ処理を複数回呼び出したりするときは、その処理をモジュール化してviews.pyからimportして呼び出すことでプログラムの再利用が出来るので記述量を減らすことがきます。
プログラムの規模が一定以上になってくると全体の見通しが悪くなってくるので、複数回出てくる処理はモジュール化するとメンテナンスがしやすいです。

今回はサンプルとして値を渡して計算結果を返すプログラムを作ります。

ディレクトリ構造

mymodule
│
├── modules
│   └── modueltest.py
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py

views.py

from django.http import HttpResponse
from mymodue.modules import moduletest


def module(request):

    num = 1
    total = moduletest.calculator(num)

    return HttpResponse(total)

from <ディレクトリ> import <モジュール>でインポートします。import以降はファイル名を指定します。
インポートしたmoduletestに1を代入したnumを渡し、結果をtotalに代入します。その後、HttpResponseで表示します。

PROJECT/url.py

import mymodule.views

urlpatterns = [
    path('module/', mymodule.views.module, name='module test'),

]

/moduleでアクセス出来るようにurlpatternsに追加します。

moduletest.py

def calculator(num):
    total = num + 2

    return (total)

views.pyから受け取った1が入ったnumに2を足してtotalに代入します。

テストサーバーを起動してhttp://127.0.0.1:8000/moduleにアクセスすると計算結果が表示されます。


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




    Show Comments (0)

    Comments

    Related Articles

    Django

    DjangoとChannelsで簡単なチャットサーバーを構築(2)

    前回からの続きです。 ルームビューを作成 chat > templates > chat > room.htmlを作成します。 ルームビューを表示するためのviewを作成します。 ルームビューへのurl […]

    Posted on by press
    Django

    DjangoでダウンロードするCSVの文字コードを設定

    以下のような、attachmentをつけて即ダウンロードが始まるシステムで、文字コードをShift-JISにする為にto_csv()の引数にencodingをShift-JISに設定しても、ダウンロードするとUTF-8で […]

    Posted on by press