我正在尝试生成一个指向更新/编辑链接的链接,以编辑联系人详细信息。 它不会工作,当我得到一个“链接没有找到”的错误点击一行。 这是我试图在单击时启动的行链接代码:
<tr class="row100 body clickable" href="{{ url_for('main.update_noc', row_id=data.row_id) }}">
我有一段python代码,它从sqlite3获取数据,如下所示:
def get_noc(row_id):
data = get_db().execute(
'SELECT p.id, contact, company, p.email, phone, datacenter,row_id'
' FROM noc p JOIN users u ON p.row_id',
).fetchone()
if data is None:
abort (404, "Data does not exist!". format(row_id))
return data
update函数如下所示:
@bp.route('/noc/<int:row_id>/update', methods=('GET', 'POST'))
@login_required
def update_noc(row_id):
data = get_noc(row_id)
if request.method == 'POST':
contact = request.form['contact']
company = request.form['company']
email = request.form['email']
phone = request.form['phone']
datacenter = request.form['datacenter']
error = None
if company is None:
error = 'Company is required.'
elif contact is None:
error = 'Contact is required.'
elif phone is None:
error = 'Phone number is required.'
elif email is None:
error = 'Email is required.'
if error is not None:
flash(error)
else:
db = get_db()
db.execute(
'UPDATE noc SET contact = ?, company = ?, email = ?, phone = ?, datacenter = ?, row_id = ?'
' WHERE id = ?',
(contact, company, email, phone, datacenter, row_id)
)
db.commit()
return redirect (url_for('main.noc'))
return render_template('main/update_noc.html',data=data)
我通过了烧瓶教程从文件和使用的知识,我得到了那里。它仍然不会工作,但当我手动转到/noc/1/update
页面正常工作
我试着改变变量,玩了很多sql,但没有成功。。。
我怀疑我的jinja2代码有问题。。。或者在return render_template('main/update_noc.html',data=data)
这是启动我的应用程序的此pasrt的sql表:
CREATE TABLE noc (
id INTEGER PRIMARY KEY AUTOINCREMENT,
contact TEXT NOT NULL,
company TEXT NOT NULL,
email TEXT NOT NULL,
phone INTEGER NOT NULL,
datacenter TEXT NOT NULL,
row_id INTEGER NOT NULL,
FOREIGN KEY (row_id) REFERENCES noc (id)
);
非常感谢您的帮助!提前谢谢
我通过更改javascript代码修复了此问题,该代码使行可以从以下位置单击:
收件人:
因此,我将jinja2代码更改为:
javascript停止使用类并直接使用data href
现在这个很好用
谢谢你的真知灼见
相关问题 更多 >
编程相关推荐