Djangoでとりあえずプロジェクトの作成だけしたという方向けに、
今回は「Hello world」の表示や、URLによる動的な表示方法をみていきたいと思います。
言語、タイムゾーンの設定
まずは言語やタイムゾーンの設定をしておきます。
settings.py の以下の部分を変更します。
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
アプリの作成
以下のコマンドを実行します。
python manage.py startapp アプリ名
今回は「my_app」という名前にしました。
そして、作成したアプリを settings.py の INSTALLED_APPS に設定します。
INSTALLED_APPS = [
.
.
.
'my_app',
]
ページの作成
では、まずは画面に「Hello world」と表示させたいと思います。
my_app の中の views.py を以下のように書きます。
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('<h1>Hello world</h1>')
次に、同階層に urls.py を作成し、以下のように書きます。
from django.urls import path
from . import views
app_name = 'my_app'
urlpatterns = [
path('hello', views.index, name='index')
]
そして、このURLをプロジェクトフォルダの urls.py に設定します。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('my_app/', include('my_app.urls')),
]
この状態で、「/my_app/hello」にアクセスすると、「Hello world」と表示されるかと思います。
URLディスパッチ
ここでは、URLに応じてページを動的に表示させたいと思います。
今回の例では、「/my_app/user_page/Taro/5」にアクセスすると、
「Taroさんのページ(5ページ目)」と表示させます。
では、「my_app」の中の「urls.py」「vies.py」を以下のように書きます。
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('<h1>Hello world</h1>')
def user_page(request, user_name, number):
return HttpResponse(f'<h1>{user_name}さんのページ({number}ページ目)</h1>')
from django.urls import path
from . import views
app_name = 'my_app'
urlpatterns = [
path('hello', views.index, name='index'),
path('user_page/<str:user_name>/<int:number>', views.user_page, name='user_page'),
]
これで、「/my_app/user_page/Taro/5」にアクセスすると、
「Taroさんのページ(5ページ目)」と表示されるかと思います。
今回は以上になります。
ご覧いただきありがとうございました!
続きはこちら↓
コメント