Ссылка URL в колбу с помощью функции Python - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь связать URL во Flask, но не могу найти решение проблемы.Моя идея состоит в том, чтобы искать белок в UniProt в зависимости от параметров, указанных на моей веб-странице.Пример:

@app.route('/http.html')
def http():
    return render_template('http.html')

@app.route('/http_results', methods=['POST'])
def http_results():
    protname_seq = request.form['protname_seq']
    specie_seq = request.form['specie_seq']
    input_text = seqtools.httplink(protname_seq,specie_seq)
    return render_template('http_results.html', **locals())

В seqtools У меня есть код Python со следующей функцией:

def httplink(prot,specie):
    a=prot
    b='_'+specie
    c=print('http://www.uniprot.org/uniprot/?query=',a+b,'&sort=score')
    return c

А теперь в http_results.html я пробовал несколько вещей, но вКонец результат Нет или ошибка, поэтому я действительно не знаю, как поступить.Код http_results.html:

{% extends "layout.html" %}
{% block body %}
<div>
<p>The link to the protein is:</p>
<p><a href={{input_text}}>{{ protname_seq }}</a></p>
<br>
</div>
{% endblock %}

Просто укажите название белка, связанного с веб-страницей UniProt.Спасибо за вашу помощь и извините за мой английский.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Функция print возвращает None, поэтому вам нужно разбить операции print и присваивания на две отдельные строки:

c='http://www.uniprot.org/uniprot/?query='+a+b+'&sort=score'
print(c)
return c

Кроме того, вам необходимо добавить кавычки вокруг href в теге a:

<p><a href='{{input_text}}'>{{ protname_seq }}</a></p>
0 голосов
/ 12 мая 2018

В функции с именем httplink вы ничего не назначаете c. Вы должны вернуть строковый литерал внутри оператора print.

def httplink(prot, specie):
    url = 'http://www.uniprot.org/uniprot/?query=%s_%s&sort=score'
    return url % (prot, specie)

Эта функция должна решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...