スポンサーリンク

【Django】変数の受け渡し方法。〜 別ページへの値遷移 〜

Django
スポンサーリンク

今回の記事は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関連の記事を記載しているので興味ある方は是非サイト内見ていってください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Django
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

  1. […] とりあえずここでいったんこの記事は終了。1日目にはまだまだ進んでいるので続きはこちら。 […]

  2. […] […]

  3. […] […]

タイトルとURLをコピーしました