[PYTHON] Django Note 3

6 Template Die Quelle, die ich gerade geschrieben habe, sieht folgendermaßen aus:

views.py


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

Das Erstellen von Seiten nacheinander ist schwierig, und die Quelle ist auch im Front-End schwer zu schreiben.

Machen wir also eine Vorlage

Die Vorlage sieht folgendermaßen aus:

index.html


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

Es ist eine normale HTML-ähnliche Quelle, aber der Teil, zu dem Sie wechseln möchten, befindet sich in {{}}.

Sie können auch einfache Logik realisieren. Zum Beispiel:

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

Views.py neu schreiben:

views.py


             ...
def current_datetime(request):
    now = datetime.datetime.now()
    data = {'now': now}
    #render(request,Vorlagenname,Parameter), Legen Sie die Daten in die Vorlage.
    return render(request, 'index.html', data)
             ...

7 Models Das Django-Modell ist in Models.py geschrieben.

Diese Form:

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)
                            ...

Sie können ganz einfach eine Klasse erstellen und Django erstellt automatisch eine Tabelle für Sie.

Wenn Sie das Fragenmodell in views.js verwenden möchten:

views.py


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

def index():
    #Holen Sie sich alle Daten aus der Datenbank
    allQuestions = Question.objects.all().order_by('-uploadtime')
    now = timezone.now()
    data = {'questions': allQuestions, 'now': now}
    return render(request, 'index.html', data)

Vorlage

index.html


<!DOCTYPE html>
<html>
<head>
  <title>Aufgabenhefte</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
Memo
Django
Memo
Memo
Django Girls Tutorial Hinweis
(Hinweis) Django in Vagrant-Umgebung
Django-Update
pyenv note
[Anmerkung] Django-Projekterstellung und Terminologie
Django Memorandum
Django-Suche
Django Installation
GroupBy Hinweis
Django Zusammenfassung
Django # 2 (Vorlage)
argparse note
Django zum Anfassen
Hinweis: Python
Berühre Django
Django Memo
Django Grundlagen
Django Shoho
Django Grundeinstellungen
Ansible Note
Django Glossar
Python-Notiz
Django Installation
[Hinweis] Führen Sie Django unter Amazon Linux 2 aus
Django: Referenzen
Hinweis: Senden Sie eine E-Mail mit Django
direnv note
Django-Start
Django Memo
[Hinweis] RepresenterError
Django NullCharField
Stellen Sie Django api mit Heroku bereit (persönliches Memo)
(Hinweis) Suchreihenfolge der Vorlagendateien in Django
Hinweise zum Aktivieren von PostgreSQL mit Django
DJango Hinweis: Von Anfang an (Formularverarbeitung)
[Hinweis] Ändern der Bildgröße
Python lernen note_002
Django ~ settings.py edition ~
Hinweis: Python-Dekorator
Python-Programmierhinweis
Django Heroku Deploy 1
Django HTML Vorlage Teil 2
Django Anfrageformular 2
Django-Modell: ManyToManyField
Was ist Django? .. ..
Django funktionsbasierte Ansicht
Python Django Tutorial (5)
Django Lernnotiz
Python Django Tutorial (2)
[Django] as_view () Notizen
Erste Django Challenge