У меня возникли проблемы с выяснением путей решения этой проблемы Django и (возможно) способом Python. Я посылаю хэш в шаблон, который содержит следующие значенияГенерация полей динамической формы в шаблонах Django
{'date': '2009-12-30', 'locations': [{u'lat': 43.514000000000003, u'lng': -79.844032999999996, u'place': u'1053 Bowring Cres, Milton, ON L9T, CA', u'description': u'Home base'}, {u'lat': 43.730550000000001, u'lng': -79.805334000000002, u'place': u'50 Dawnridge Trl, Brampton, ON L6Z, CA', u'description': u'Southfork'}]}
Я затем передать эти данные в шаблон, и мне нужно сделать следующее:
- создать форму
- пре- заполнить ряд полой формы, связанные со значениями в «места»
- , если у меня есть надстройка менее чем в 5 «местоположений» ряд пустой полой формы, пока я не 5
Вот код, который тянет и генерирует данные - он захватывает информацию от CouchDB
def get_by_id(self, username, search_id):
if username and search_id:
info = db.get(search_id)
if info['user'] == username:
return {'date': info['date'],
'locations': json.loads(info['locations'])}
Я полагаю, я мог бы как-то управлять тем, что в информации [ «место»] добавить в ID, но я «Мы боролись с пониманием того, как Python обрабатывает итерацию через JSON.
Вот код в шаблоне, который я использую для создания формы. my_search содержит данные, я показал выше
<form method="post" action="/locations">
<input type="hidden" name="search_id" value="{{ search_id }}">
<table>
<tr>
<th>Location</th>
<th>Description</th>
</tr>
{% for location in my_search.locations %}
<tr>
<td><input type="text" name="location" id="id_location"
value="{{ location.place }}"></td>
<td><input type="text" name="description" id="id_description"
value="{{ location.description }}"></td>
</tr>
{% endfor %}
</table>
<input type="submit" value="Update Plan">
</form>
Мысли о том, как (а) легко добавить в уникальном идентификаторе и (б) добавить недостающие пары пустых полей формы, если у меня меньше, чем 5 мест было бы очень оценили.
Я правильно предполагая, что [: 5] часть говорит: "сделать это, пока мы не имеем 5 элементов в массиве"? – GrumpyCanuck
Это означает «дать мне пятый элемент последовательности». http://docs.python.org/tutorial/introduction.html#lists –