Dies ist Ponta, ein Shiba-Hund. Neulich gab ich vor, ein Mensch zu sein und unterhielt mich mit meinen Online-Freunden, aber ich begann zu denken, dass die andere Person ein Hund sein könnte, der vorgibt, ein Mensch zu sein. Ich frage mich, ob ich rauskommen soll.
Nun, heute werde ich die Django-Vorlage herausfordern. Eine Vorlage ist eine Webseite mit darin eingebetteten Variablen und Prozessen und erstellt einen Bildschirm zum Einfügen und Anzeigen von Werten.
Erstellen Sie Ordnervorlagen, Vorlagen / WAN unter dem Verzeichnis WAN und eine Vorlagendatei index.html unter Vorlagen / WAN. Der Baum sieht so aus.
(venv_dog) Ponta@shiba_app # tree
.
// ...Kürzung
└── wan
// ...Kürzung
├── templates
│ └── wan
│ └── index.html
// ...Kürzung
Die Vorlage index.html wurde wie folgt geschrieben.
wan/templates/wan/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>{{ year }}Jahr{{ month }}Mond{{ date }}Tag</p>
<p>{{ description }}</p>
</body>
</html>
Fügen Sie die Variable in {{}} ein. Hier sind die Variablen Titel, Jahr, Monat, Datum, Beschreibung.
Die Vorlage wird von views.py aufgerufen. Schreiben Sie views.py daher wie folgt neu.
wan/views.py
from django.shortcuts import render
def index(request, dogname, diarydate):
year = diarydate[:4]
month = diarydate[4:6]
date = diarydate[6:]
title = dogname + "s Tagebuch"
description = "Der heutige Reis ist gegrilltes Fleisch!"
params = {
'year': year,
'month': month,
'date': date,
'description': description,
'title': title,
}
return render(request, 'wan/index.html', params)
Ursprünglich bestand die Prozedur darin, die Vorlage mit django.template.loader.get_template ('wan / index.html') aufzurufen, die Vorlagenvariablen mit der Renderfunktion festzulegen und dann das HttpResponse-Objekt wie zuvor zurückzugeben. Zum Glück bietet Django jedoch eine render () - Funktion als Verknüpfung an, sodass ich sie verwende.
Die Funktion render () akzeptiert drei Argumente: Anforderungsobjekt, Vorlagenname und Parameter, rendert sie und gibt ein HttpResponse-Objekt zurück. [^ 1]
In Django ist es erforderlich, die Anwendung zu registrieren, die im Projekt verwendet werden soll, wenn die Vorlage verwendet wird. Registrieren Sie daher die App wan in der Variablen INSTALLED_APP, die in shiba_app / settings.py beschrieben ist.
shiba_app/settings.py
// ...Kürzung
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'wan',
]
// ...Kürzung
Die letzte Zeile ('wan',) wird hinzugefügt.
Lassen Sie es uns anzeigen.
Der gestrige Reis war gegrilltes Fleisch. Ich bin ein Hund, also brauche ich keine Sauce. Wir sehen uns! einer!
[^ 1]: Erstellen Ihrer ersten Django-App, Teil 3 Schreiben Sie eine Ansicht, die tatsächlich funktioniert