そのほか
2024/05/08
古川 直輝

【初学者必見】Djangoのはじめ方

logo_Python

はじめに

今回はDjangoでwebアプリケーションを作成していきます。


Djangoのインストールから画面表示まで実装していきます。

プロジェクトフォルダー、アプリフォルダーの作成

はじめにDjangoをインストールします。



pip install django


次にプロジェクトフォルダーを作成します。(今回のプロジェクト名はaplとします。)



django-admin startproject apl






上記のようにプロジェクトフォルダーが作成されていたらOKです。


 


次にプロジェクトフォルダに移動します。



cd apl

以下のコマンドを打つことでアプリフォルダーを作成することができます。



python manage.py startapp app

(今回はappとしていますが、名前は自由です。)



このようにappフォルダーが出来ていたらOKです。(appフォルダー内にurls.pyがない場合は追加しましょう。)



プロジェクトフォルダーの設定変更

settings.pyの以下の箇所を変更します。



ALLOWED_HOSTS = ["*"]


INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app'
]

変更点


・ALLOWED_HOSTSの中に*を入れる。このようにすることですべてのホストを許可することができます。


・INSTALLED_APPSの最後にアプリフォルダーを追加する(今回の場合はapp)



urls.pyの以下の箇所を変更します。




from django.urls import path,include

urlpatterns = [
path("admin/",admin.site.urls),
path("",include("app.urls"))
]


変更点


・path(“”,include(“〇〇.urls”))を追加する。(〇〇はアプリフォルダー名)このようにすることでアプリ内のurlsにパスを通すことができます。


 


以下のコマンドを打ち、http://127.0.0.1:8000/をクリックして、公式ページに推移したらOKです。



python manage.py runserver


●公式ぺージ



 

アプリケーションの作成

Djangoで画面に文字を表示する手順は以下の通りです。


①urls.pyでルーティングを行います。


②views.pyで変数化、表示のベースとなるTemplateを指定します。


③TemplateでHTMLで表示する具体的な記述をする。


ではやってみましょう!



#views.py
from django.views.generic import TemplateView

class Home(TemplateView):
template_name = "home.html"


今回使うのはTemplateViewです。


TemplateViewはクラスベースビューの中でも最もよく用いられるViewクラスであり、簡単にテンプレートファイルやモデルと連携できるメリットがあります。View関数と比較して少ないコードで多様な機能を実装できるのが特徴です。


template_name = “home.html”とすることで、home.htmlの内容を画面に表示することができます。


 



#urls.py
from django.urls import path
from .views import Home

urlpatterns = [
path("",Home.as_view())
]

Home.as_view()とすることで、Homeの内容を探してきます。


appフォルダと同じ階級にtemplateフォルダーを作成し、その中にhome.htmlを作成します。




<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UFC-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Home</title>
</head>
<body>
<h1>Home</h1>
</body>
</html>

このような画面が表示されたら成功です。


まとめ

今回はDjangoのはじめ方から画面表示までを実装しました。


views.pyやmodels.pyなどを編集することで、より複雑なwebアプリケーションを作成することができます。

New call-to-action