Ich habe vom Entwurf des URL-Schemas in Django bis zu dem Teil zusammengefasst, der in der Vorlage angezeigt werden soll.
urls.py
from django.template import Context, loader
from polls.models import Test
from django.http import HttpResponse
def index(request):
latest_test_list = Test.objects.all().order_by('-pub_date')[:5]
t = loader.get_template('test/index.html')
c = Context({
'latest_test_list': latest_test_list,
})
return HttpResponse(t.render(c))
Entwerfen Sie eine URL mit regulären Ausdrücken in urls.py.
Als Denkweise Django testet vom ersten Taple bis die angeforderte URL mit dem kanonischen Ausdruck im Tapple übereinstimmt.
Wenn ein übereinstimmender kanonischer Ausdruck gefunden wird, ruft Django die im entsprechenden Taple angegebene Rückruffunktion auf. Übergeben Sie das HttpRequest-Objekt als erstes Argument an die Rückruffunktion. Übergeben Sie außerdem im regulären Ausdruck "den erfassten Wert als Schlüsselwortargument. Wenn ein optionales Wörterbuchobjekt (das das dritte Element des Taples ist) angegeben wird, wird sein Inhalt auch als zusätzliche Schlüsselwortargumente übergeben.
Legen Sie das Verzeichnis fest, das das obige URL-Schema in settings.py angibt
setting.py
TEMPLATE_DIRS = (
'/Pfad zu dem Verzeichnis, in dem sich die Vorlage befindet/', #Sie müssen sich an Ihre Umgebung anpassen.
)
Die URL-Einstellung ist bis zu dem oben genannten abgeschlossen, aber die der URL entsprechende Methode ist nicht definiert. Stellen Sie es in view.py ein.
from django.shortcuts import render_to_response
from polls.models import Test
def index(request):
latest_test_list = Test.objects.all().order_by('-pub_date')[:5]
return render_to_response('test/index.html',
{'latest_test_list': latest_test_list})
Geben Sie abschließend das Frontend und das Design in der Vorlage an. Zeigen Sie den übergebenen Kontext an.
templete.html
{% if latest_test_list %}
<ul>
{% for test in latest_test_list %}
<li><a href="/test/{{ test.id }}/">{{ test.text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>There is no test.</p>
{% endif %}
Recommended Posts