2017-01-18 2 views
0

나는 이라는 앱을 가지고 있는데,이 클래스는 장고 프로젝트에서 start_date 속성을 가진 Loan이라는 모델 클래스를 가지고있다. 템플릿의 해당 속성에 액세스하려고합니다. {{ loans.loan.start_date}} 또는 {{ loan.start_date }}으로 설정해야합니까?템플릿의 속성에 액세스하기

미리 감사드립니다.

답변

0

Loan의 인스턴스를보기 코드의 컨텍스트를 통해 전달해야합니다. 사용하는 키의 이름이 loan이라면 start_date{{ loan.start_date }}을 사용하여 액세스 할 수 있습니다.

자세히 알아 보려면 here을 읽고 특히 here을 읽으십시오.

loans/views.py에서 :

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}) 

loans/templates/loans/index.html에서 :

<p>The start date is: {{ loan.start_date }}</p> 
+0

나는 이해한다고 생각하지만, 나는 정보가 부족하다. 클래스의 인스턴스가 무엇인지 나에게 설명해 주시겠습니까? 내가 잘 이해할 수있는 방식으로 설명하면, 나는 당신의 대답을 받아 들일 것입니다. –

+0

예를 들어'Loan()'또는'Loan.objects.first()'를 할 때. 당신에게 반환되는 객체는'Loan' 클래스의 인스턴스가 될 것입니다. 클래스는 청사진과 비슷하며이 클래스에서 생성 한 객체를 인스턴스라고합니다. –

+0

답변을 완성하기위한 간단한 예를 만들 시간이 있습니까? –

0

그것은 모두가 따라 당신이보기에 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을 사용했다.

관련 문제