今回の記事はDjangoプロジェクトで次ページへ遷移したタイミング等で変数の受け渡しを行う方法に関しての初心者用記事です。Djangoで変数の受け渡し方法がわからない方は是非参考にしていただけると幸いです。
Djangoプロジェクト作成
まずは、DjangoをPythonにインストールします。すでにDjangoをインストール済みの方は飛ばしてください。
python venv -m env
cd env/Scripts
activate
cd ../..
pip install django
次にDjangoプロジェクトを展開するフォルダで下記のコマンドを実行します。
django-admin startproject sample
↓
cd sample
↓
python manage.py startapp app
Djangoプロジェクト内にHTMLで入力欄を作成
HTMLの「index.html」を下記のように変更しましょう。
<!DOCTYPE html>
{% load static %}
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>サンプルアプリ</title>
</head>
<body>
<form action="{% url 'move_to_gamepage' %}" method="GET">
{% csrf_token %}
<a>Player1:</a><input type="text" id="player1" name="player1">
<br>
<a>Player2:</a><input type="text" id="player2" name="player2">
<br>
<a>Player3:</a><input type="text" id="player3" name="player3">
<br>
<input type="image" src="{% static "ap/button/start_button.png" %}" name="start_button">
</form>
</body>
</html>
formで実行される関数は変わらずです。
本当はGET通信ではなくPOST通信を使うべきなのですが、今回は変数をやりとりするのみなので上記でお許しを。

次にどのように入力された値を表示させるかです。
「gamepage.html」というページを作成しましょう。
<html>
<head>
<meta charset="utf-8" />
<title>遷移先</title>
</head>
<body>
<table>
<a>{{ player1 }}</a>
<br>
<br>
<a>{{ player2 }}</a>
<br>
<br>
<a>{{ player3 }}</a>
</table>
</body>
</html>
これで変数を表示する欄が含まれる遷移先ページの作成完了です。
Djangoでの変数の書き方は{{ 変数 }}といった具合です。
Djangoプロジェクトで変数の受け渡しを行う
「views.py」を下記のように変更します。
from django.shortcuts import render
def index_show(request):
return render(request,'index.html')
def move_to_gamepage(request):
players = {
'player1': request.GET.get('player1'),
'player2': request.GET.get('player2'),
'player3': request.GET.get('player3'),
}
return render(request, 'gamepage.html', players)
GETで変数を取得し、受け渡されたリストを「gamepage.html」渡します。
「urls.py」は前回と変わらこちらのままです。
見辛いですが、下記のように取得した名前を下記のように表示できております。

遷移後は下記です。

無事、変数を受け渡し、遷移先のページで表示できています。
では今回の記事は以上です。他にも多数のDjango関連の記事を記載しているので興味ある方は是非サイト内見ていってください。
コメント
[…] とりあえずここでいったんこの記事は終了。1日目にはまだまだ進んでいるので続きはこちら。 […]
[…] […]
[…] […]