こんにちは、nishi_talk(@nishi_talk)です。
Pythonで人気のフレームワークDjango(ジャンゴ)に個別ページを作成する方法をご紹介します。
作成したいページ
今回作成するページ名「report(アプリ名)」とします。
追加、編集するファイルはこちらです。
$ tree . project ├── project_site │ ├── settings.py │ ├── test.py │ ├── urls.py ←編集する │ └── wsgi.py ├── manage.py ├── static ├── report(アプリ名) │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ ├── models.py │ ├── tests.py │ ├── templates ←追加する │ │ └── report │ │ └── post_list.html │ ├── urls.py ←追加する │ └── views.py ←編集する └── uwsgi.ini
全体のURLの作成
まずはこのファイルを編集。
├── project_site │ ├── urls.py ←編集する
urls.pyの編集した箇所はdjango.urlsのincludeを呼び出し。
from django.contrib import admin from django.urls import path, include # ←includeの記述を追加 urlpatterns = [ path('report/', include('report.urls')), # ← ここを追加 path('admin/', admin.site.urls), ]
個別のURLの作成
個別のテンプレートを呼び出す設定をする。
report/urls.pyを追加して編集します。
・ ├── report │ ├── urls.py ←追加して編集 ・
from django.urls import path from . import views urlpatterns = [ path('', views.post_list, name='post_list'), ]
次に、report/views.pyを編集します。
・ ├── report │ ├── views.py ←編集 ・
from django.shortcuts import render # Create your views here. def post_list(request): return render(request, 'report/post_list.html', {})
reportの配下にtemplatesとreportのディレクトリとpost_list.htmlを作成します。
・ ├── report │ ├── templates ←追加する │ │ └── report │ │ └── post_list.html ・
post_list.htmlを編集します。
<html> <body> <p>Hi there!</p> <p>It works!</p> </body> </html>
settings.pyを編集します。
・ ・ ・ INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'report.apps.ReportConfig', ←追記 ] ・ ・ ・
runしているサーバーを再起動します。
reportディレクトにアクセスするとページが表示されます。
http://xxxxxx.com/report/