programing

Django 템플릿 내 인덱스별 참조 목록 항목?

minimums 2023. 7. 17. 20:50
반응형

Django 템플릿 내 인덱스별 참조 목록 항목?

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

다시 말해서, 어떻게 하면 동등한 것을 할 수 있습니까?{{ data[0] }}템플릿 언어 내에서?

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

더 나은 방법: 사용자 지정 템플릿 필터: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

템플릿에서 get my_list[x]와 같이 입력합니다.

견본으로

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

템플릿 태그/index.py

from django import template
register = template.Library()

@register.filter
def index(indexable, i):
    return indexable[i]

한다면my_list = [['a','b','c'], ['d','e','f']]사용할 수 있습니다.{{ my_list|index:x|index:y }}가져올 템플릿으로my_list[x][y]

"for"와 잘 작동합니다.

{{ my_list|index:forloop.counter0 }}

테스트를 거쳤으며 잘 작동합니다 ^_^

{{ data.0 }}작동해야 합니다.

당신이 썼다고 치자.data.obj장고의 시도data.obj그리고.data.obj()그들이 작동하지 않으면 시도합니다.data["obj"]당신의 경우에는data[0]라고 쓸 수 있습니다.{{ data.0 }}하지만 저는 당신이 그것을 잡아당길 것을 추천합니다.data[0]뷰에서 별도의 변수로 전송합니다.

@jennifer06262016, 다른 필터를 추가하여 django 쿼리 세트 내의 개체를 반환할 수 있습니다.

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

이 경우 이와 같은 {{Queryset|index:x|get_item }}을(를) 템플릿에 입력하여 일부 사전 개체에 액세스할 수 있습니다.저한테는 효과가 있어요.

먼저 아래 지침에 따라 앱에 사용자 지정 태그 기능이 설치된 앱에 추가되었는지 확인합니다.

메인 디렉토리 앱에서 1은 model.py,views.py,urls.py 과 동일한 수준의 이름 템플릿 태그로 다른 디렉토리를 만듭니다.

templatetags 디렉토리의 내부 2개는 init.py 을 생성하고 사용자 지정 태그의 이름을 가진 다른 파일(예: my_tags.py)을 생성합니다.

MainApp/
    __init__.py
    models.py
    templatetags/
        __init__.py
        my_tags.py
    views.py

템플릿에서 다음을 사용합니다.

{% load my_tags.py %}

내가 있는 곳에py:

from django import template 
register = template.Library()
@register.filter(name="get")
def get(indexable, i):
    return indexable[i]

의견으로는py:

number = [0,1,2,3,4,5]

return render(
    "index.html", {"number":number}

)

in index.dll:

{% load my_tags %}

{{numer|get:forloop.counter0}}

참조 사용자 지정 템플릿 태그필터 생성 방법

나는 당신이 이해하기를 바랍니다, 왜냐하면 영어는 내 모국어가 아니기 때문입니다.

언급URL : https://stackoverflow.com/questions/4651172/reference-list-item-by-index-within-django-template

반응형