2014-12-08 3 views
0

Я работаю над своим первым проектом Django, и я изо всех сил пытаюсь определить свою структуру данных, на мой взгляд, что буду нажимать на свой шаблон.структура данных python django

Я хочу, чтобы определить следующее, писать в примере псевдокоде, чтобы дать вам идею:

Чтобы записать в виде:

games[0].time = '12:00' 
games[0].hometeam = 'Manchester United' 
games[0].awayteam = 'Chelsea' 

games[1].time = '15:00' 
games[1].hometeam = 'Manchester United' 
games[1].awayteam = 'Chelsea' 

Subsequenly Я хочу, чтобы использовать эти данные в шаблоне с помощью добавив следующую строку в мой файл шаблона:

<td class="RowData">{{games[0].time}}</td> 

т.д.

Я хочу использовать структурированный подход вместо обычного списка, чтобы сохранить обзор в файле шаблона.

В настоящее время я получаю сообщение об ошибке с указанием: global name 'games' is not defined

Я полагаю, что мне нужно создать объект "игры как конкретизации нового быть определен класс, правильно ?, или будет ли лучшее решение для структурирования мои данные перед отправкой в ​​мой шаблон?

я впоследствии завершить структуру дат 'игр с для цикла с использованием данных из QuerySet как:

for x in range(0,queryset.count()): 
    games[x].time = [str(queryset[x].gametimedate.hour)+':'+str(queryset[x].gametimedate.minute) 
    games[x].hometeam = queryset[x].hometeam     
    games[x].queryset[x].awayteam 

Помогите объяснить документы или пример ценится!

ответ

1

вы можете сохранить игры в виде списка, но использовать словари для каждого элемента внутри вашего списка, это позволит сохранить структуру ключ/значение для каждой игры:

games = [] 
games.append({'time':'12:00', 'hometeam': 'Manchester United', 'awayteam': 'Chelsea'}) 
games.append({'time':'15:00', 'hometeam': 'Manchester United', 'awayteam': 'Chelsea'}) 

и также позволит вам цикл через список и/или ссылаться на игру по ее индексу.

Так, например, с помощью точечной нотации в шаблоне Джанго, чтобы получить доступ к времени первой игры будет выглядеть следующим образом:

{{games.0.time}} 

Вот больше о словарях в документации Python: https://docs.python.org/2/tutorial/datastructures.html#dictionaries

И вот бит в документации Django, которая объясняет точечную нотацию в шаблонах https://docs.djangoproject.com/en/dev/ref/templates/api/#variables-and-lookups

Смежные вопросы