[PYTHON] Django Note 3

6 Template La source que je viens d'écrire ressemble à ceci:

views.py


            ...
def current_datetime(request):
    now = datetime.datetime.now()
    html = "It is now %s." % now
    return HttpResponse(html)
            ...

La création de pages une par une est difficile, et la source est également difficile à écrire sur le front-end.

Alors faisons un modèle

Le modèle ressemble à ceci:

index.html


<!DOCTYPE html>
<html>
<head>
  <title>What's the time?</title>
</head>
<body>
  It is now {{ time }}.
</body>
</html>

C'est une source normale de type HTML, mais la partie vers laquelle vous voulez basculer est dans {{}}.

Vous pouvez également réaliser une logique simple. Par exemple:

{% if user.gender == 'F' %}
   Hello
{% endif %}
{% for question in questions %}
    question.text
{% endfor %}

Réécrivez views.py:

views.py


             ...
def current_datetime(request):
    now = datetime.datetime.now()
    data = {'now': now}
    #render(request,Nom du modèle,Paramètres), Mettez les données dans le modèle.
    return render(request, 'index.html', data)
             ...

7 Models Le modèle Django est écrit dans Models.py.

Cette forme:

models.py


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

class Question(models.Model):
    text = models.CharField(max_length=100)
    uploadtime = models.DateTimeField('updated time', default = timezone.now)
                            ...

Vous pouvez facilement créer une classe et Django créera automatiquement une table pour vous.

Lorsque vous souhaitez utiliser le modèle de question dans views.js:

views.py


from .models import Question
import django.utils.timezone as timezone
from django.shortcuts import render

def index():
    #Récupérez toutes les données de la base de données
    allQuestions = Question.objects.all().order_by('-uploadtime')
    now = timezone.now()
    data = {'questions': allQuestions, 'now': now}
    return render(request, 'index.html', data)

modèle

index.html


<!DOCTYPE html>
<html>
<head>
  <title>Des livres d'exercices</title>
</head>
<body>
  It is now {{ time }}.
  {% for question in questions %}
    question.text
    <br />
  {% endfor %}
</body>
</html>

urls.py


      ...
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', hello),
    url(r'^time/$', current_datetime),
    url(r'^index/$', index),
      ...
]

visit: http://127.0.0.1:8000/time/

Recommended Posts

Django Note 4
Django Note 5
Django Note 3
Django Note 2
Note
Django
Note
Note
Note du didacticiel Django Girls
(Note) Django dans l'environnement Vagrant
mise à jour de Django
note de pyenv
[Note] Création et terminologie du projet Django
Mémorandum Django
recherche django
Installation de Django
GroupBy Remarque
Résumé de Django
Django # 2 (modèle)
argparse note
Django Hands On
Remarque: Python
Touchez django
Mémo Django
Les bases de Django
Django Shoho
Paramètres initiaux de Django
Note d'Ansible
Glossaire Django
Note de Python
Installation de Django
[Note] Exécutez Django sur Amazon Linux 2
Django: Références
Remarque: envoyer un e-mail avec Django
note de direnv
Démarrage de Django
Mémo Django
[Note] RepresenterError
Django NullCharField
Déployer l'API Django avec heroku (mémo personnel)
(Remarque) Ordre de recherche des fichiers modèles dans Django
Remarques sur l'activation de PostgreSQL avec Django
Remarque DJango: depuis le début (traitement de formulaire)
[Note] Redimensionnement de l'image
Note d'apprentissage Python_002
Django ~ édition settings.py ~
Remarque: décorateur Python
Note de programmation Python
Django Heroku Deploy 1
Modèle HTML Django partie 2
Formulaire de demande Django 2
Modèle Django: ManyToManyField
Qu'est-ce que Django? .. ..
Vue basée sur les fonctions Django
Tutoriel Python Django (5)
Mémo d'apprentissage Django
Tutoriel Python Django (2)
Notes de [Django] as_view ()
Premier défi Django