MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. Django
  6. 【Django】BootStrapテンプレートでベースHTMLを使用しページを簡単に作成する方法

【Django】BootStrapテンプレートでベースHTMLを使用しページを簡単に作成する方法

2020 6/02
Django
2020年6月1日2020年6月2日

Django構築時にBootStrapのテンプレートでベースHTMLを使用して追加ページを作成する方法をまとめました。
Djangoでページを追加作成する場合は、「urls.py」と「view.py」を編集することでページを反映できます。

前回の記事はDjangoでBootStrapのテンプレートを使用し、反映させるまでの設定をしています。
以下のページを参考にしてください。

あわせて読みたい
【Django】Bootstrapのテンプレートを適用する方法 前回、CentOS8で構築したDockerでDjangoのコンテナを構築し、簡単なWebサイトのトップページを設定するまでの手順をまとめました。 今回は、無料でも使用できるWebサイ...

あわせて読みたい
【Django】ホームページの新規ページ(URL)を追加する方法 前回、Djangoを構築してトップページをBootstrapのテンプレートを使用して表示させました。 今回は、Djangoで新たに新規のページをカテゴリで分け、追加する手順をまと...

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

【Django】BootStrapテンプレートでベースHTMLを使いページを追加する方法

Djangoを構築し、BootStrapテンプレートを使用して、追加のページを作成する場合、ベースのHTMLファイルを利用してページを追加していきます。
今回のベーステンプレートは「simple-sidebar」を使用して、ページを量産していきます。

ベースのHTMLテンプレート、追加のHTMLページは「templates」フォルダ配下で作成していきます。

myhp
|-- __init__.py
|-- __pycache__
|-- admin.py
|-- apps.py
|-- migrations
|-- models.py
|-- tests.py
|-- urls.py
`-- views.py
mysite
templates/
|-- base1.html
|-- index.html
`-- test
    |-- app
    |   `-- app.html
    |-- base2.html
    |-- test1.html
    `-- test2.html

base.htmlとhtmlファイル(新規ページ)の作成方法

今回はベースとなるHTMLファイルはBootStrapのテンプレートを使用します。
「simple-sidebar」はindex.htmlがあるのでこのファイルをコピーして新たに「base.html」というファイルを作成します。

まずはベースのHTMLとなるファイルを以下のように編集します。

ハイライトをしている箇所を新規ページで利用する個所とします。

{%block (name)%}で囲っている箇所が編集できる箇所となります。
ベースのHTMLファイルを使用してを新規ページへ変更を加えたいかは自身で判断しましょう。

<!DOCTYPE html>
{% load static %}
<html lang="ja">

<head>

  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="">
  <meta name="author" content="">

  <title>{%block tab%}{%endblock%}</title>

------中略------

      <div class="container-fluid">
        <h1 class="mt-4">{% block main_title %}{%endblock%}</h1>
        {% block main_containts %}

        {%endblock%}
        <p>The starting state of the menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will change.</p>
        <p>Make sure to keep all page content within the <code>#page-content-wrapper</code>. The top navbar is optional, and just for demonstration. Just create an element with the <code>#menu-toggle</code> ID which will toggle the menu when clicked.</p>
      </div>
    </div>
    <!-- /#page-content-wrapper -->

------中略------

「test1」ページ

test1のページは「templates」直下にあるbase.htmlをベースとして作成しています。

$ cat templates/test/test1.html
{% extends 'base1.html'%}

{%block tab%}
test_tab
{%endblock%}


{%block title%}
Engineers-Life.com
{%endblock%}

{% block main_title %}
test1のメインタイトル
{%endblock%}

{% block main_containts %}
メインコンテンツを表示しています。
{%endblock%}
$

「test2」ページ

test2のページは「template/test」配下のbase.htmlをベースとして作成します。

$ cat templates/test/test2.html
{% extends 'test/base2.html'%}

{%block tab%}
test_tab
{%endblock%}


{%block title%}
Engineers-Life.com
{%endblock%}

{% block main_title %}
test2のメインタイトル
{%endblock%}

{% block main_containts %}
メインコンテンツを表示しています。
{%endblock%}
$

追加ページの構成

今回は「templates」配下、「test」フォルダ配下でそれぞれベースのHTMLテンプレートを作成し、追加のページを「test」フォルダ配下に設置しました。

htmlでパスを指定することでどこのフォルダに設定しても問題ありません。

$ tree templates/
templates/
|-- base1.html
|-- index.html
`-- test
    |-- app
    |   `-- app.html
    |-- base2.html
    |-- test.html
    |-- test1.html
    |-- test2.html
    `-- test3.html

上記でページは作成されますが、このままでは実際のURLのパスでページが表示されません。
以下で「urls.py」、「views.py」を追加編集することで設定が反映されます。

「urls.py」を編集

「urls.py」では、URLのパスを設定します。
以下のハイライトでパスは以下のように表示するようにします。

  • 「test1」はhttp://x.x.x.x/test1
  • 「test2」はhttp://x.x.x.x/test2
  • 「app」はhttps://x.x.x.x/test/app
from django.urls import path
from . import views

app_name = 'myhp'
urlpatterns = [
    path('', views.index, name='index'),
    path('test1/', views.test1, name='test1'),
    path('test2/', views.test2, name='test2'),
    path('test3/', views.test3, name='test3'),
    path('test/app/', views.app, name='app'),
]

「views.py」を編集

次に「views.py」を編集します。
こちらはトップをtemplatesフォルダとし、その配下のHTMLファイルを指名しそれぞれ名前をリクエストするようにします。

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse
from django.template import Context, loader

def index(request):
    template = loader.get_template('index.html')
    context = {}
    return HttpResponse(template.render(context, request))

def test1(request):
    return render(request, 'test/test1.html')

def test2(request):
    return render(request, 'test/test2.html')

def test3(request):
    return render(request, 'test/test3.html')

def app(request):
    return render(request, 'test/app/app.html')

新規ページ作成確認

上記で作成した新規ページは以下のように表示されるようになります。

test1のページ

test2のページ

BootStrapを使用したページの新規作成は以上となります。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Django
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次