[PYTHON] Remarque DJango: depuis le début (création d'une vue à partir d'un modèle)

Enfin, je vais créer une page en utilisant le modèle.

Définissez l'emplacement du modèle

setting.py ######

TEMPLATE_DIRS = (
	'path/to/your/templates'	#Ça a l'air bien n'importe où
)

Bien sûr, une fois que vous l'avez installé, vous devez préparer le lieu correctement.

Créer un modèle

Une fois que le répertoire de modèles est prêt, créez plus de sous-répertoires pour chaque application et créez-y des modèles HTML. Cette fois, créez index.html dans "sondages".

index.html ######

{% if latest_poll_list %}
    <ul>
    {% for poll in latest_poll_list %}
        <li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}

Le HTML entre les programmes Python. Chaque processus est-il compris entre {% hoge…%} et {% endhoge%}? Il y a une partie entourée de {{}} à l'intérieur, mais cela peut être quelque chose comme un écho en PHP. Il semble que la valeur soit renvoyée au HTML telle quelle.

Spécifiez le modèle comme vue

Une fois que vous avez un modèle, définissez-le comme vue pour cette page.

views.py ######

from django.template import Context, loader
from polls.models import Poll
from django.http import HttpResponse

def index(request):
    latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
    temp = loader.get_template('polls/index.html')
    contxt = Context({
        'latest_poll_list': latest_poll_list,  #Afficher le dernier?
    })
    return HttpResponse(temp.render(contxt))

De plus, si vous utilisez le module de raccourcis, vous pouvez l'écrire en abrégé comme suit.

from django.shortcuts import render_to_response
#En utilisant cela, le template et http deviennent inutiles
from polls.models import Poll

def index(request):
    latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
    return render_to_response('polls/index.html',
                              {'latest_poll_list': latest_poll_list})
    #Êtes-vous de retour avec le sentiment que la température et le contenu du code précédent sont réunis?

Personnellement, je préfère au plus le style d'écriture précédent (car il est facile à comprendre). Je veux utiliser le raccourci après m'être habitué.

*** Au fait, il y avait deux points troublants, alors je voudrais les mentionner ***

  1. ’-pub_date’: que signifie le premier tiret?

  2. [: 5]: De même, le côlon n'est pas clair.

La prochaine fois, nous reprendrons les paramètres de l'écran d'erreur.

Recommended Posts

Remarque DJango: depuis le début (création d'une vue à partir d'un modèle)
DJango Memo: depuis le début (création d'une vue)
Remarque DJango: depuis le début (en utilisant une vue générique)
Remarque DJango: depuis le début (traitement de formulaire)
DJango Memo: Depuis le début (préparation)
Remarque DJango: depuis le début (Simplification et fractionnement d'URLConf)
DJango Memo: depuis le début (réglage du modèle)
Mémo DJango: Depuis le début (édition de l'écran de gestion) Il y a un mystère
Spécifiez l'URL de la vue dans le modèle Django
DJango Memo: depuis le début (réglage de l'écran d'erreur)
Étapes de l'installation de Python 3 à la création d'une application Django
Faire du modèle une chaîne sur le modèle HTML Django
Enregistrement du modèle depuis Django Bootstrap
L'histoire du champ de modèle Django disparaissant de la classe
DJango Memo: depuis le début (plus de modifications sur l'écran de gestion)
Django: Importer une classe depuis une chaîne
Mémo DJango: Depuis le début (en utilisant l'écran de gestion) mon point addictif
Créer un filtre avec un modèle django
Notez que vous souhaitez décorer manuellement les paramètres passés dans le formulaire du modèle Django élément par élément
Pour trouver le nom de la vue avec l'espace de noms à partir de l'URL (path_info) dans Django
[Django] Comment passer des valeurs directement des balises de modèle aux variables JavaScript
[Note] Lire un fichier depuis un autre répertoire
Notes d'apprentissage depuis le début de Python 1
Omettre la nomenclature depuis le début de la chaîne
Commandes pour créer un nouveau projet django
(Remarque) Ordre de recherche des fichiers modèles dans Django
Créer un écran de connexion dans Django all auth
Remarques sur l'activation de PostgreSQL avec Django
Utiliser Django à partir d'un script Python local
Notes d'apprentissage depuis le début de Python 2
Récupérez uniquement le texte du formulaire Django.
Ecrire brièvement if-else du template Django
Un mémo que j'ai essayé le tutoriel Pyramid
Django Note 4
Une série d'ingénieurs d'infrastructure amateurs touchant Django avec Docker ⑤: View, Template, CSS
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Django # 2 (modèle)
L'histoire de Django créant une bibliothèque qui pourrait être un peu plus utile
[Django] Créez un formulaire qui remplit automatiquement l'adresse à partir du code postal
Affichons un template simple idéal pour le premier Django
Django Note 1
Django Note 3
Django Note 2
Remarques sur la personnalisation de la classe de liste de dict
Écrire une note sur la version python de python virtualenv
Essayez de modifier un peu la vue du fichier de TortoiseHg
Trouver le début de l'avenomics à partir du grossissement NT 2
Une note sur la nouvelle classe de base de style
Exécutez des fichiers Python à partir de HTML en utilisant Django
Trouver le début de l'avenomics à partir du grossissement NT 1
[Django] Appuyez sur une commande que vous avez effectuée à partir du processus qui s'exécute sur manage.py.