LoginSignup
0
2

More than 3 years have passed since last update.

Djangoで簡単なWebサイトを作ってみよう!

Posted at

はじめに

未来電子テクノロジーでインターンをしているsajoです!

プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください!

今回はDjangoについてまとめていきます。

プロジェクトとアプリケーションの作成

terminal
# [django-app]というプロジェクト名のディレクトリを生成
# 仮想環境下でコマンドを実行
$ django-admin startproject django_app

# [hello]というアプリケーションを生成
# プロジェクト内でコマンドを実行
$ python manage.py startapp hello

urls.pyの編集

ここでは「アプリのアドレス管理は、各アプリ内で行わせる」ようにします。
こうすることでアプリを編集した際に、わざわざプロジェクトまで気にする必要がなくなるのです。

django_app/hello/urls.py
from django.urls import path
from . import views

urlpatterns = [
   path('', views.index, name='index'),
]
django_app/django_app/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
   path('admin/', admin.site.urls),
   paht('hello/', include('hello.urls')),
]

views.pyの編集

ここでは http://localhost:8000/hello/ にアクセスした時に、テンプレートフォルダに格納してある hello/index.html というHTMLファイルを表示させるように、views.pyを編集します。
HTMLファイルで使用する変数を、paramsに辞書形式で定義し、render関数の第3引数で返しています。

django_app/hello/views.py
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
   params = {
      'title':'Hello/Index',
      'msg':'これは、サンプルで作ったページです。',
   }
   return render(request, 'hello/index.html', params)

index.htmlの編集

vies.pyのindex関数で定義したparams辞書は、HTMLファイル内で{{キー}}のように指定すると画面に表示することができます。

index.html
<!doctype html>
<html lang='ja'>
<head>
   <meta charset='utf-8'>
   <title>{{title}}</title>
</head>
<body>
   <h1>{{title}}</h1>
   <p>{{msg}}</p>
</body>
</html>

まとめ

この記事では、Djangoの基本中の基本事項をまとめてみました。

最後までご覧いただきありがとうございました!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2