Web

Python:Django ~Project作成、Application作成、Template呼び出しのまとめ~

スポンサーリンク

Projectを作る

まずはProjectの作成からです。Terminalを開いて次の個万でProjectを作成することができます。

django-admin startproject test_project

次におこなったのが、Refactorでした。こちらは設定ファイルが、Project名と同名のフォルダに格納されるでわかりにくかったですよね。「config」とか「setting」とか、ご自身でわかりやすいフォルダ名に変更しましょう。PyCharmでの実行方法は、変更したいフォルダ名で右クリックをして、「Refactor」→「Rename」と進めばOKです。

Applicationを作成する

次に、Applicationを作ります。Applicationの作成は、Terminalで次のコマンドを入力します。

python manage.py startapp start

ここで、最後のstartというのはApplication名です。作りたいApplication名によって、適宜変えるようにしてください。

これだけで、Applicationは作成することができました。但し、このままではProjectはApplicationを認識していません。そこで、Projectの設定ファイルで認識をさせます。ここでは、Projectの設定ファイルは「config」というフォルダにまとめることにしました。(上述のRefactor→Renameで実施しています)configフォルダ内のsetting.pyのINSTALLED_APPS に新しく追加したApplicationを追加します。

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

これでProjectがApplicationを認識できました。次に、Projectが「リクエスト情報」を受け取ったときに、Applicationに渡す設定をする必要があります。これは、Projectのurls.pyで設定をします。

from django.contrib import admin
from django.urls import include     # 追記
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('start/', include('start.urls')),      # 追記
]

次に、Application側でも設定が必要です。startというApplicationがこのあと、URLを処理できるようにApplication内のurls.pyを編集します。Application内には、urls.pyはないので新規作成をします。Projectのurls.pyをベースにして、次のように書き込むとよいでしょう。

from django.urls import path
from . import views

app_name = 'start'
urlpatterns = [
    path('', views.index, name='start_django'),
]

これは次のような書式になっているのでしたね。

path( URLのパターン , 呼び出すView , 名前 )

Application作成の最後にViewsの設定をおこないます。Application内のviews.pyを編集します。

from django.http import HttpResponse    # 追記
from django.shortcuts import render

def index(request):                         # 追記
    return HttpResponse("Hello, Djnago!!")   # 追記

Templateを呼び出す

ここからは ViewからTemplateを呼びだす設定を します。

  • Templateを呼び出す設定をする
  • Templateを作成する

の順に進めるのでしたね。 ViewからTemplateを呼ぶには、Applicationのview.pyを編集します。
例)start/view.pyにcall_template関数を追加

def call_template(request):
    template_name = "start.html"
    context = {}
    return render(request, template_name, context)

template_nameは、Templateの名前を宣言しています。contextは、Templateに渡すパラメータです。パラメータは辞書型で渡します。次に、url.pyでcall_templateを呼び出す設定をします。urls.pyのurlpatternsを編集します。

urlpatterns = [
    path('', views.index, name='start_django'),
    path('test/temp/', views.call_template, name='call_template'),
]

これは、startというApplicationが呼び出されたあとに、URLにtest/tempという文字列が見つかったら、call_templateという関数が呼び出される設定です。では、次に実際に呼び出されるHTMLを作成しましょう。

ここでは、startフォルダの配下にtemplatesフォルダを作り、そこにstart.htmlを作ります。今回はstart.htmlは次のようにしてみましょう。

<!DOCTYPE html>
<html lang="jp">
<head>
    <meta charset="UTF-8">
    <title>スタートページです</title>
</head>
<body>
<h1>今度はテンプレートを呼び出して表示しています。</h1>
<p>テンプレートを呼び出すことで、あらかじめ定義した書式を呼び出すことができます。</p>
</body>
</html>

これで完成です。

スポンサーリンク

まとめ

いかがでしたでしょうか?今回は、Projectをつくる、Applicationをつくる、Templateを呼び出す、の部分をまとめました。これを基本として押さえておく必要があります。しっかり復習しましょう。

コメント

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