Я пишу основной веб-сайт, который до сих пор может принимать входные данные из формы и добавлять значения в файл json. Я также могу отображать данные json на странице «json». Для этого я делаю (json.dump (myGetJsonStuffFunc), indent = 4, sort_keys = True). Это творит чудеса для части API на сайте.Выдержка из json в html с использованием фляжки
Что я также хочу сделать, это получить эту информацию и отобразить ее на «обычной» странице html, где пользователь может получить гораздо лучший обзор.
На данный момент у меня есть функция SetValuesToHtml, которая, я надеюсь, установит значение ключа для переменной, и это вызывается на моем маршруте перед вызовом render_template. Но я не могу понять, как получить доступ ни к переменной, ни к информации, хранящейся в ней.
Это мой полный views.py: http://pastebin.com/cneKMtZf
проблемы (? Я надеюсь) таковы:
@app.route('/collection', methods = ['GET'])
def collectionH():
data = SetValuesToHtml()
return render_template(
'collection.html',
title='This is our collection'
)
и функция:
def SetValuesToHtml():
checkData()
with open(filename+".json", "r") as infile:
data = json.load(infile)
infile.close()
pass
for tech in data['techs']:
return data.endposition
pass
Я в потеря и не знаю, где искать помощь, и поэтому я обращаюсь к вам. Я с радостью возьму прямой ответ, но так же счастливо, что я буду руководствоваться тем, что читать.
Спасибо
Есть проблемы с вашим отступом. 'with open ...' не является частью тела функции. Даже если этот отступ правилен в вашем фактическом коде, вы не можете «возвращать» в цикле 'for', потому что' return' прервет функцию на первой итерации. – roganjosh
Пара других вещей: Нет необходимости вызывать 'close()' в файле, который был открыт с помощью 'with'. Кроме того, я не понимаю предполагаемую функцию 'pass' в нескольких точках вашего кода. Но отредактируйте свой вопрос, чтобы убедиться, что отступ соответствует вашему собственному коду. – roganjosh
Я не заметил, что когда я вставлял код, он не автоматически выравнивал его так, как это было в моей идее. Я извиняюсь! Что касается закрытия, мне сказали, чтобы он всегда закрывал файл после открытия, чтобы обеспечить согласованность. Поскольку я не сталкивался с проблемами, я предположил, что это сработало. Передано, которое я преподавал, должно позволить функции знать, что она покинула блок и должна двигаться дальше. Вернитесь назад при повторении или продолжении. Не знал, что возвращение сработало понравилось. – Berimbolinho