Closed9
Djangoのチュートリアルをなぞってみる その2:ブラウザ表示まで
前回のスクラップの続き
Django公式チュートリアルをなぞっています。
以下のページの途中からです。
前回django-admin startproject
コマンドで作ったものはproject。次はその中にappを作る。projectの中に複数のappが存在しうる。
appを作るにはmanage.py
を使う。
$ python manage.py startapp polls
polls
ディレクトリが生成された。
$ tree polls
polls
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
1 directory, 7 files
作成されたPythonファイルはほとんどが数行だけの中身のないファイル。唯一コードが含まれるのが以下のファイル。
from django.apps import AppConfig
class PollsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'polls'
チュートリアルに従ってファイルを編集する。差分は次の通り。 polls/urls.py
を新規作成し、mysite/urls.py
から参照させるようにしている。polls/views.py
にはメソッドを追加している。
diff --git a/mysite/mysite/urls.py b/mysite/mysite/urls.py
index 79d5460..39d844c 100644
--- a/mysite/mysite/urls.py
+++ b/mysite/mysite/urls.py
@@ -15,8 +15,9 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
-from django.urls import path
+from django.urls import include, path
urlpatterns = [
+ path("polls/", include("polls.urls")),
path('admin/', admin.site.urls),
]
diff --git a/mysite/polls/urls.py b/mysite/polls/urls.py
new file mode 100644
index 0000000..5119061
--- /dev/null
+++ b/mysite/polls/urls.py
@@ -0,0 +1,7 @@
+from django.urls import path
+
+from . import views
+
+urlpatterns = [
+ path("", views.index, name="index"),
+]
diff --git a/mysite/polls/views.py b/mysite/polls/views.py
index 91ea44a..963b6f7 100644
--- a/mysite/polls/views.py
+++ b/mysite/polls/views.py
@@ -1,3 +1,5 @@
-from django.shortcuts import render
+from django.http import HttpResponse
-# Create your views here.
+
+def index(request):
+ return HttpResponse("Hello, world. You're at the polls index.")
python manage.py runserver
コマンドは次のようにポート番号を付ければポート番号を変更できる。
$ python manage.py runserver 8080
http://localhost:8080/polls/
にブラウザでアクセスすると Hello, world. You're at the polls index.
と表示される。
$ curl http://localhost:8080/polls/
Hello, world. You're at the polls index.
ちなみに http://localhost:8080/admin/
にアクセスすると、ログイン画面になる。
urls.py
にある path("", views.index, name="index"),
について
Naming your URL lets you refer to it unambiguously from elsewhere in Django, especially from within templates.
このスクラップは2023/08/05にクローズされました