복붙노트

[PYTHON] 장고 템플릿 내에서 인덱스별로 목록 항목을 참조 하시겠습니까?

PYTHON

장고 템플릿 내에서 인덱스별로 목록 항목을 참조 하시겠습니까?

이것은 간단 할 수도 있지만 주변을 둘러 보았고 답을 찾을 수 없었습니다. Django 템플릿의 목록에서 단일 항목을 참조하는 가장 좋은 방법은 무엇입니까?

즉, 템플릿 언어 내에서 {{data [0]}와 (과) 동일한 작업을 수행하려면 어떻게해야합니까?

감사.

해결법

  1. ==============================

    1.{{data.0}}처럼 보입니다. 변수 및 조회를 참조하십시오.

    {{data.0}}처럼 보입니다. 변수 및 조회를 참조하십시오.

  2. ==============================

    2.더 좋은 방법 : 맞춤 템플릿 필터 : https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

    더 좋은 방법 : 맞춤 템플릿 필터 : https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

    템플릿에서 List [x]를 얻는 것과 같이 :

    템플릿에

    {% load index %}
    {{ List|index:x }}
    

    templatetags / index.py

    from django import template
    register = template.Library()
    
    @register.filter
    def index(List, i):
        return List[int(i)]
    

    List = [[ 'a', 'b', 'c'], [ 'd', 'e', ​​'f']]이면 {{List | 템플릿을 얻기위한 템플릿 [x] [y]

    "for"와 함께 잘 작동합니다.

    {{ List|index:forloop.counter0 }}
    

    테스트되고 잘 작동합니다. ^ _ ^

  3. ==============================

    3.{{data.0}}이 (가) 작동해야합니다.

    {{data.0}}이 (가) 작동해야합니다.

    data.obj django가 data.obj와 data.obj ()를 시도했다고 가정 해 봅시다. 작동하지 않으면 데이터 [ "obj"]가 시도됩니다. 귀하의 경우 데이터 [0]은 {{data.0}}로 작성 될 수 있습니다. 그러나 뷰에서 데이터 [0]을 가져 와서 별도의 변수로 전송하는 것이 좋습니다.

  4. ==============================

    4.@ jennifer06262016, 당신은 확실히 장고 Queryset 내부의 개체를 반환하는 또 다른 필터를 추가 할 수 있습니다.

    @ jennifer06262016, 당신은 확실히 장고 Queryset 내부의 개체를 반환하는 또 다른 필터를 추가 할 수 있습니다.

    @register.filter 
    def get_item(Queryset):
        return Queryset.your_item_key
    

    이 경우 템플릿에 {{Queryset | index : x | get_item}}과 같은 내용을 입력하여 사전 개체에 액세스 할 수 있습니다. 그것은 나를 위해 작동합니다.

  5. from https://stackoverflow.com/questions/4651172/reference-list-item-by-index-within-django-template by cc-by-sa and MIT license