2016-11-17 9 views
0

Я создаю приложение в колбе Python, и я изо всех сил пытаюсь кодировать мои ссылки. В моем шаблоне HTML я вызываю данные из JSON и на основе переменной из JSON, я хочу создать ссылку на другую страницу, но переменные, которые имеют «пространство» в них, принимают только первое слово, а ссылка не работать как следует.Python flask - Кодирующие ссылки на основе JSON varibale

Это мой JSON:

[ 
    { 
     "team":"AFC Bournemouth" 
    }, 
    { 
     "team":"Arsenal" 
    } 
] 

И это мой питон:

@app.route('/<team>/') 
def artist(team): 
    json_data=open('static/data.json').read() 
    data= json.loads(json_data) 
    urllib.quote_plus(data.team) 
    return render_template("team.html", team=team) 

Я пытаюсь использовать "urllib.quote_plus", но я получаю сообщение об ошибке

AttributeError: 'list' object has no attribute 'team'

Я не знаю, как это исправить.

И это мой цикл в HTML:

{% for data in results %} 
    <div class="team"> 
     <p><a href=/{{ data.team }}>{{ data.team }}</a></p> 
    </div> 
{% endfor %} 

Прежде чем я использовал «urllib.quote_plus» ссылка для «Арсенала» работал идеально, но для «AFC Bournemouth» он только взял слово «АФК» ,

ответ

0

Странно, что он правильно работает для «Арсенала». На самом деле вы должны итерация по «данным», потому что это список

Пример:

@app.route('/<team>/') 
def artist(team): 
    json_data=open('static/data.json').read() 
    data= json.loads(json_data) 
    data = [{'team': urllib.quote_plus(team['team'])} for team in data] 
    return render_template("team.html", results=data) 

Другого дело, что в render_template вы отправляете переменные команды, а не результаты (изменились в моем примере). Таким образом, все должно быть хорошо и работать с вашим шаблоном Jinja.

Редактировать: изменения в списке Пояснение

+0

Спасибо за ваш ответ, но он по-прежнему не работает. – Animalovsky

+0

Можете ли вы написать, какая у вас ошибка? – WhereIsMySnake

+0

Я просто понял, что я неправильно написал код, теперь он должен работать нормально – WhereIsMySnake