Как получить доступ к элементам массива в шаблоне Django?

Можно попытаться использовать свойство объекта и поймать получающийся NullReferenceException. Если свойство, которое Вы пробуете, наследовано или переопределено от Объекта, то это работает на любой класс.

public static bool operator ==(Foo foo1, Foo foo2)
{
    //  check if the left parameter is null
    bool LeftNull = false;
    try { Type temp = a_left.GetType(); }
    catch { LeftNull = true; }

    //  check if the right parameter is null
    bool RightNull = false;
    try { Type temp = a_right.GetType(); }
    catch { RightNull = true; }

    //  null checking results
    if (LeftNull && RightNull) return true;
    else if (LeftNull || RightNull) return false;
    else return foo1.field1 == foo2.field2;
}
159
задан ndmeiri 19 May 2018 в 23:44
поделиться

3 ответа

Помните, что точечная нотация в шаблоне Django используется для четырех разных нотаций в Python. В шаблоне foo.bar может означать любое из:

foo[bar]       # dictionary lookup
foo.bar        # attribute lookup
foo.bar()      # method call
foo[bar]       # list-index lookup

Он пробует их в указанном порядке, пока не найдет совпадение. Итак, foo.3 предоставит вам индекс вашего списка, потому что ваш объект не является dict с ключом 3, не имеет атрибута с именем 3 и не имеет метода с именем 3.

296
ответ дан 23 November 2019 в 21:33
поделиться
arr.0
arr.1

и т. Д.

140
ответ дан 23 November 2019 в 21:33
поделиться

Вы можете получить доступ к элементам последовательности с помощью arr.0 arr.1 и так далее. См. Глава о системе шаблонов Django книги django для получения дополнительной информации.

28
ответ дан 23 November 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: