私はDjangoを学ぼうとしています。私は基本的な機能を理解するために小さなアプリケーションを作成しています。 django appのviews.pyでは、チュートリアルのいくつかはテンプレートからのrender()を使用し、他のチュートリアルはdjangoショートカットモジュールのrender()を使用します。例えばdjango.shortcutsモジュールにあるDjangoTemplatesクラスとrender()メソッドのrender()の違いは何ですか?
、views.py
from django.shortcuts import render
def home(request):
context = {}
template = "app/add_item.html"
return render(request, template,context)
、まだ他に、
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))
DjangoTemplatesクラスの()メソッドをレンダリングとDjangoに見られる()メソッドをレンダリングするの違いは何です。ショートカットモジュール?どちらを選ぶべきですか?
ありがとうございます。しかし、 "それはレンダリングするために別のテンプレートを発見する仕組みがない"。 '' django.shortcuts.render'''の場合でも、htmlテンプレートを明示的に指定します。ではない? – hAcKnRoCk
混乱して申し訳ありません。レンダリング関数( 'django.shortcuts.render')では、レンダリングするテンプレートを示す引数が必要です。 'Template.render'は1つのテンプレートだけをレンダリングします。他のものをレンダリングするために渡すことができる引数はありません。もっと理にかなっている? –