loans
という名前のアプリケーションがあります。このクラスは、Loan
という名前のモデルクラスと、start_date
という名前のDjangoプロジェクトです。私はテンプレート内のその属性にアクセスしたい。 {{ loans.loan.start_date}}
、または{{ loan.start_date }}
とする必要がありますか?テンプレート内の属性へのアクセス
ありがとうございます!
loans
という名前のアプリケーションがあります。このクラスは、Loan
という名前のモデルクラスと、start_date
という名前のDjangoプロジェクトです。私はテンプレート内のその属性にアクセスしたい。 {{ loans.loan.start_date}}
、または{{ loan.start_date }}
とする必要がありますか?テンプレート内の属性へのアクセス
ありがとうございます!
Loan
のインスタンスをビューコードのコンテキストで渡す必要があります。使用するキーの名前がloan
の場合、start_date
には{{ loan.start_date }}
を使用してアクセスできます。
loans/views.py
で:
ここで必要な最小だ
loans/templates/loans/index.html
で
from django.shortcuts import render
from .models import Loan
def detail(request, loan_id):
loan = Loan.objects.get(id=load_id)
return render(request, 'loans/index.html', {'loan': loan})
:
<p>The start date is: {{ loan.start_date }}</p>
それはすべてあなたのビューにLoan
を送信する方法によって異なります。 Djangoはビューがテンプレートに値のコンテキストディクショナリを提供して、そのテンプレートがHTMLレスポンスをレンダリングするために使用/アクセスすることを期待しています。コンテキスト辞書でその値を呼び出すのは、テンプレートでその値を参照する方法です。たとえば、次のように
from django.views.generic import TemplateView
class LoanView(TemplateView):
template_name = 'loan_view.html'
def get_context_data(self, **kwargs):
context = super(LoanView, self).get_context_data(**kwargs)
context['my_loan'] = Loan.objects.first()
return context
そしてloan_view.html中:
<h1>Loan view</h1>
<ul>
<li>Created at: {{ my_loan.start_date }}</li>
</ul>
n.b.あなたはビュー機能を使用している場合、それはもう少し、このようになります。
from django.shortcuts import render
def loan_view(request):
context = {
'my_loan': Loan.objects.first()
}
return render(request, 'loan_view.html', context)
アップ以上、私たちは私たちのLoan
オブジェクトのキーmy_loan
を使用しているため、私たちは、テンプレートにそのLoan
にアクセスするためにmy_loan
を使用しました。
私は理解していると思いますが、私には情報がありません。あなたはクラスのインスタンスが何であるか私に説明できますか?私がうまく理解できるように説明すれば、私はあなたの答えを受け入れます。 –
例えば 'Loan()'や 'Loan.objects.first()'を実行すると、あなたに返されるオブジェクトは、クラス「Loan」のインスタンスになります。クラスは青いプリントのようなもので、そこから作成したオブジェクトはインスタンスと呼ばれます。 –
あなたの答えを完成させるための少しの例を構築する時間がありますか? –