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