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を呼び出す、の部分をまとめました。これを基本として押さえておく必要があります。しっかり復習しましょう。
コメント