[PYTHON] Django-TodoList② ~ Affiche la page de détails ~

introduction

Dans cet article, j'afficherai la page détaillée de "Todo List". Le public cible est celui qui commence tout juste à apprendre Django. Si vous lisez les articles jusqu'à la dernière fois, je pense que tout se passera bien.

Articles jusqu'à la dernière fois ↓ ↓ ↓ Procédure de création d'une application avec Django avec Pycharm ~ Préparation ~

Django ~ settings.py édition ~

Django ~ Affichons-le sur le navigateur ~

Django-TodoList ① ~ Affichons la liste ~

Modification de urls.py

Tout d'abord, nous allons connecter l'URL à "urls.py". Ouvrez l'application "urls.py". (Si vous ne l'avez pas créé car il n'est pas préparé par défaut, saisissez ce qui suit dans le terminal.)

#Déplacer vers le répertoire de l'application
$nom de l'application cd#Cette fois "à faire"

#urls.Créer py
$ touch urls.py

Lorsque vous ouvrez "urls.py" (si vous pouvez le créer), ajoutez ce qui suit.

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

urlpatterns = [
    path('list/', TodoList.as_view()),
    path('detail/<int:pk>/', TodoDetail.as_view()),   #Connexion des écrans de détail
]

'int: pk' spécifie les données à afficher. En fait, vous l'entrerez plus tard, mais en ajoutant «détail / 1 /» à la fin de l'URL, les premières données seront affichées. En passant, si vous regardez les détails de chaque donnée sur l'écran de gestion, vous pouvez voir que le numéro est affiché à la fin de la partie URL n.

Vous pouvez penser que'TodoDetail.as_view 'apporte la classe'TodoDetail dans'view.py'.

Modifier view.py

Ensuite, modifiez "view.py".

from django.shortcuts import render
from django.views.generic import ListView, DetailView   #Importer DetailView
from .models import TodoModel


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


class TodoDetail(DetailView):        #Définir la classe TodoDetail
    template_name = 'detail.html'    #'template'Est'detail.html'Spécifier
    model = TodoModel                #Le modèle est'TodoModel'Spécifier

Comme je l'ai expliqué dans l'article précédent, «views.py» fonctionne pour collecter des matériaux, donc je spécifie «tempalte» et le modèle.

Modifier models.py

Nous apporterons quelques modifications à partir du "modèles.py" précédemment créé, alors ajoutez ce qui suit.

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)

La modification est maintenant terminée.

afficher

Vérifions s'il peut être affiché immédiatement.

Tapez ce qui suit dans le terminal:

$ python manage.py runserver

L'URL sera affichée, alors cliquez dessus pour accéder au navigateur. Lorsque vous atteignez le navigateur, ajoutez'detal / 1 / 'à la fin de l'URL.

Ensuite, vous devriez être en mesure de voir que le contenu des premières données enregistrées est affiché.

À la fin

Cette fois, j'ai décidé d'afficher l'écran de détail de chaque donnée. Nous continuerons d'ajouter des articles à l'avenir, nous vous serions donc reconnaissants si vous pouviez vous y référer.

Recommended Posts

Django-TodoList② ~ Affiche la page de détails ~
Affichons la carte en utilisant Basemap
Django ~ Affichons-le sur le navigateur ~
Afficher le 邊
Agrandissez l'affichage du tracé.
Cherchons à partir de la ligne
Faisons tourner l'air gacha