ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
本稿ではdjangoで簡単な電卓を作成する方法を説明します。
※機能は非常にシンプルにします。(加算機能のみ)
本稿の目的はMVC(MVT)を用いた値の入出力です。
前提
・Pythonの導入済み(まだの方はこちら)
・djangoの導入済み(まだの方はこちら)
完成図

プロジェクトの作成
適当なプロジェクトを作成します。
|
python django-admin.py startproject django_projects |
アプリケーションの作成
|
python manage.py startapp calculator |
ルーティング処理
calculator/urls.pyを作成して以下の記述をする。
|
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('calc', views.calc), ] |
更にdjango_projects/urls.pyを修正する。
calculatorアプリのurls.pyにパスを通す。
|
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('calculator/', include('calculator.urls')), path('admin/', admin.site.urls), |
共通テンプレートの作成
アプリケーションディレクトリ直下にtemplatesディレクトリを作成しましょう。
今後テンプレートは当ディレクトリに格納します。
以下はヘッダーなどを共通化するテンプレートです。
|
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock title %}</title> </head> <body> {% block content %} {% endblock %} </body> </html> |
テンプレートの作成
実際の電卓画面の部分を作成します。
機能は加算のみにします。
|
{% extends "base.html" %} {% block title %}電卓{% endblock title %} {% block content %} <h1>djangoの加算電卓</h1> <form method="post" action="calc"> {% csrf_token %} <input type="number" name="val1"> <button type="submit"> = </button> {{ answer }} </form> {% endblock %} |
ビューの作成
|
from django.shortcuts import render
return render(request, 'index.html')
val1 = int(request.POST['val1']) val2 = int(request.POST['val2']) answer = val1 + val2 context = { 'answer': answer, } return render(request, 'index.html', context) |
http://127.0.0.1:8000/calculator/
で計算画面が開きます。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- チュートリアル:電卓の作成
- MVCアプリケーション実装例
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?