【Django】サイトの概要や規約など単純なhtmlファイルを置いてリンクさせたい時の対応

カテゴリ:Django 投稿:2022年6月4日20:25、更新:2022年6月27日1:28

・記事の概要 

Djangoでシンプルなhtml(利用規約、プライバシーポリシー、サイト概要など)を配置して遷移させたいときの手順を記載します。


・この記事でできるようになること 

Djangoでのwebサービスにシンプルなhtml紐付けできるようになります。

このサイトでのプライバシーポリシーも同じような形式で作成しました。


・実際の手順 

①htmlファイルを用意

なんでも良いのですが例えば「hoge.html」というものを用意し、これにリンクさせたいとします。

中身も適宜記載したい内容でいいですが、「templates/アプリ名」配下に置きましょう。

<!doctype html>

<html lang="ja">

<p>ほげほげ</p>


urls.pyを編集

views.pyのurlpatternsに以下のような追記をします。

path('hoge.html/',views.HogeView.as_view(), name='hoge'),



views.pyを編集

urls.pyと同じ階層にある(アプリ名ディレクトリ配下にある)views.pyに以下のような追記をします。

from django.views.generic import TemplateView


class HogeView(TemplateView): template_name = 'アプリ名/hoge.html'

TemplateViewはモデルと連携しない(データを扱わない)htmlに対して使います。

今回のシンプルなhtml(利用規約、プライバシーポリシー、サイト概要など)と言うのもこれに該当します。


④遷移元側にリンク追記

遷移元のHTMLに以下のような追記をします。

<li >

  <a  href="{% url 'アプリ名:hoge' %}">hogehoge</a>

</li>


・まとめ 

いかがだったでしょうか。

Createなどの汎用viewは使っていたが意外とTemplateViewは使っていなかった、と言う場合などに疑問になるかと思い今回は書いてみました。


コメント一覧

コメント投稿ページへ


書いている人

のぎ
PG->SE->PMとして働き、現在はIT企業で新卒採用の担当をしています。長期育休取得明けで0歳娘の対応に毎日バタバタです。笑
採用業務をしつつ社内利用ツールなど作成しており、当ブログも勉強の一環でコーディングして作成しています。 エンジニア領域、人事・採用領域、育児関連など発信していきます。