0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Django-TodoList②~詳細ページを表示してみよう~

Last updated at Posted at 2020-07-05

#はじめに
今回の記事では「TodoList」の詳細ページを表示していこうと思います。
対象者としては、Djangoの学習を始めたばかりの人を考えています。
前回までの記事にも目を通していただけるとスムーズに進められると思います。

前回までの記事



PycharmでDjangoでアプリケーションを作成する手順~準備編~

Django~settings.py編~

Django~ブラウザに表示させてみよう~

Django-TodoList①~一覧を表示してみよう~

#urls.pyの編集

まずは'urls.py'にURLの繋ぎ込みを行っていきます。
アプリケーションの'urls.py'を開いてください。
(デフォルトでは用意されていないので作成していない方は、ターミナルに次のように打ち込んでください。)

#アプリケーションディレクトリに移動
$ cd アプリケーション名        #今回は「todo」

#urls.pyの作成
$ touch urls.py

'urls.py'を開いたら(作成できたら)、次のように追記してください。

from django.urls import path
from .views import TodoList, TodoDetail

urlpatterns = [
    path('list/', TodoList.as_view()),
    path('detail/<int:pk>/', TodoDetail.as_view()),   #詳細画面の繋ぎ込み
]

'int:pk'とは、どのデータを表示するのか指定するものです。
あとで実際に入力しますが、URLの末尾に'detail/1/'と付け足すことで、1つ目のデータが表示されます。
ちなみに管理画面で一つ一つのデータの詳細を見ると、URL部分nの末尾に数字が表示されているのを確認できます。

'TodoDetail.as_view'は’view.py’にある'TodoDetailクラスを持ってくると思ってもらえたら良いです。

#view.pyの編集
次に'view.py'を編集していきます。

from django.shortcuts import render
from django.views.generic import ListView, DetailView   #DetailViewをインポート
from .models import TodoModel


class TodoList(ListView):
    template_name = 'list.html'
    model = TodoModel


class TodoDetail(DetailView):        #TodoDetailクラスを定義
    template_name = 'detail.html'    #'template'は'detail.html'を指定
    model = TodoModel                #モデルは'TodoModel'を指定

前回の記事でも説明した通り、'views.py'は材料を集めるために動くものなので、'tempalte'とモデルの指定を行っています。

#models.pyの編集
前回作成した'models.py'から少し変更を加えるので、次のように追記してください。

from django.db import models
from django.utils import timezone


class TodoModel(models.Model):
    title = models.CharField(max_length=50)
    content = models.TextField()
    deadline = models.DateTimeField(default=timezone.now)

これで編集は完了です。

#表示
それでは早速表示できているか確認していきましょう。

ターミナルに次のように打ち込んでください。

$ python manage.py runserver

URLが表示されるのでそれをクリックするとブラウザに飛びます。
ブラウザに飛んだら、URLの末尾に'detal/1/'と付け足してください。

そうすると一番最初に登録したデータの中身が表示されているのが確認できるはずです。

#終わりに

今回は一つ一つのデータの詳細画面を表示することをしました。
今後も記事を追加していくので、参考にしていただければ幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?