2014-02-20 3 views
1

모델의 모든 필드를 나타내는 테이블을 출력하는 간단한 Django 뷰를 작성하려고합니다.Django - 템플릿 태그 내에서 템플릿 태그를 사용 하시겠습니까?

Item_Id 
Name 
Description 
Base_Price 
Image_Path 
Item_Tags 

내가 필드 목록을 검색 할 수 있습니다 Menu_Items._meta.fields 사용 :

나는 6 개 필드 Menu_Items라는 모델을 가지고있다.

주어진 쿼리 세트 (예 : Menu_Items.objects.all())에 대해 모든 필드를 인쇄하고 테이블 형식으로 지정하고 싶습니다.

문맥에서 필드를 전달하려고 시도했지만 사용할 템플릿 태그를 파악할 수 없습니다. 템플릿 태그 내부에서 템플릿 태그를 사용할 수 있습니까? 과 같이 :이 경우

{% for field in fields %} 
    {{ menuItems.0.{{ field.name }} }} 
    {{ field.name }} 
{% endfor %} 

필드는 values()ValueQuerySet을 반환 있도록 Menu_Items._meta.fields

대신이 일을

답변

3

에 의해 반환 된 각 필드는 쿼리를 변경할 수 있습니다.

id 1 
name Beatles Blog 
tagline All the latest Beatles news. 
:

{% for item in results %} 
    {% for column,value in item.iteritems %} 
     {{ column }} {{ value }} 
    {% endfor %} 
{% endfor %} 

이 발생합니다 :

>>> Blog.objects.filter(name__startswith='Beatles').values() 
[{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}] 

템플릿에 지금 :

당신의 결과는 여기에 문서의 예입니다, 사전의 목록이 될 것입니다

+1

하나의 작은 변화만으로도 완벽하게 작동했습니다. 나는 "itervalues"대신에 "iteritems"를 사용했다. 정말 고맙습니다! 내 마지막 코드 : {{값}}
: \t '{결과 %의 결과에 대한 %} \t \t {{필드}} {필드 %, result.iteritems %의 가치} \t {% endfor %} {% endfor %}' – corycorycory

관련 문제