Ich versuche Django zu lernen. Ich erstelle eine kleine Anwendung, um die grundlegenden Funktionen zu verstehen. In der Datei "views.py" einer Django-App verwenden einige Tutorials render() aus der Vorlage, während andere render() aus dem django-Shortcuts-Modul verwenden.Was ist der Unterschied zwischen render() der DjangoTemplates Klasse und render() Methode im django.shortcuts Modul?
Zum Beispiel in views.py
from django.shortcuts import render
def home(request):
context = {}
template = "app/add_item.html"
return render(request, template,context)
und noch andere,
from django.http.response import HttpResponse
from app.models import Items # this is the model
def home(request):
item_list = Items.objects.order_by('-item_name')
template = loader.get_template('app/add_item.html') # could be index.html as well
context = {
'item_list': item_list,
}
return HttpResponse(template.render(context, request))
Was ist der Unterschied zwischen machen ist() -Methode von DjangoTemplates Klasse und render() Methode in django gefunden. Shortcuts-Modul? Welchen sollte ich bevorzugen und warum?
Danke. Aber "Es gibt keinen Mechanismus zum Ermitteln einer anderen Vorlage zum Rendern". Sogar für '' 'django.shortcuts.render''' geben Sie explizit die HTML-Vorlage an. Ist es nicht wahr? – hAcKnRoCk
Sorry für Verwirrung. Ich meine, dass mit der Renderfunktion ('django.shortcuts.render') ein Argument erwartet wird, das ihm sagt, welche Vorlage gerendert werden soll. 'Template.render' wird immer nur diese eine Vorlage darstellen. Es gibt kein Argument, das Sie weitergeben können, um etwas anderes zu rendern. Macht mehr Sinn? –