gpt4 book ai didi

python - Flask HTML 链接查询

转载 作者:行者123 更新时间:2023-11-30 23:28:45 28 4
gpt4 key购买 nike

如何使每个联系人成为链接?

我正在考虑这样做:

<li><h3><a href{url_for('addcontact/contact_id"{{e[1].encode("utf-8")}}, {{e[2].encode("utf-8")}}" {contact_id}</a></h3></li>

我的html

 <html>
<body>
<h1>List of contacts</h1>
<ul class=contacts>
{% for e in contacts %}
<li><h3>"{{e[1].encode("utf-8")}}, {{e[2].encode("utf-8")}}"></h3></li>
{% else %}
<li><em>No contacts available</em></li>
{% endfor %}
</ul>
<a href="/">Home</a>
<a href="/addcontact/">Add a contact</a>

我的方法:联系方式

 @app.route('/contacts/', methods=['GET','POST'])
def contact_list():
cur = g.db.execute('select contact_id, surname, firstname from address order by surname')
contacts = cur.fetchall()
return render_template("contacts.html", contacts = contacts) #refer to template

添加联系人方法:

 @app.route('/addcontact/', methods=['GET','POST'])
def contact_add():
if request.method == 'POST':
g.db.execute('insert into address (surname, firstname, email, mobile) values (?, ?, ?, ?)',[request.form['firstname'], request.form['surname'], request.form['email']
, request.form['mobile']])
g.db.commit()
flash('New entry was successfully posted')
return redirect(url_for('/contacts')) #redirect to the contacts page
elif request.method != 'POST':
return render_template('addcontact.html')

`附加说明基本上我想显示姓氏和名字,但当您单击链接并详细了解该联系人时传递 contact_id。

联系方式:

联系人详细信息

@app.route('/contacts/<int:contact_id>', methods=['GET'])
def contact_detail(contact_id):
if request.method == 'GET':
cur = g.db.execute('select surname, firstname, email, mobile\
from address where contact_id = ?', [contact_id])
select = cur.fetchall()
return render_template('modcontact.html', select=select, contact_id=contact_id)

详细联系模板:

<html>
<body>
<h1>Detail of contact {{select[0]}}</h1>
<form action='/addcontact/' method="post">
<dl>
<dd><input type="submit" value="Modify Contact">
<dd><input type="submit" value="Delete Contact">
</dl>
</form>
<a href="/">Home</a>
<a href="/contacts">List of contacts</a>
</body>
</html>

最佳答案

您当前的方法似乎存在两个问题。

首先,您将 url_for() 用于端点而不是路由,因此假设您有一个函数

@app.route('/contacts')
def contact_list():
return ''

要在模板中获取此网址,您可以使用:

url_for('contact_list')

不是

url_for('/contacts')

第二,看起来您已经逃脱了两次,但您不需要这样做。尝试:

<li><h3>
<a href="{{ url_for('the_endpoint_Im_trying_to_reach', contact_id=contact_id_field) }}">
{{ first_name_field.encode('utf-8') }}, {{ surname_field.encode('utf-8') }}
</a>
</h3></li>

更新:为了让关键字参数在 url_for() 中作为路由传递,您需要这样定义您的路由:

@app.route('/contacts/<contact_id>')
def the_endpoint_Im_trying_to_reach(contact_id=None):
pass

有关 url_for 的更多信息可以在 here 找到。 .

关于python - Flask HTML 链接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21465848/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com