Enfin, je vais créer une page en utilisant le 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.
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.
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 ***
’-pub_date’: que signifie le premier tiret?
[: 5]: De même, le côlon n'est pas clair.
Recommended Posts