无法从html到python获取表单名称 [英] can`t get form name from html to python
本文介绍了无法从html到python获取表单名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在数据库中的用户配置文件页面to description column
中添加description text
,但是当我提交表单时,什么也没有发生,并且此列仍然为空.
I want to add description text
from users profile page to description column
in my database, but when I submit form nothing happens and this column still empty.
登录后我可以在个人资料页面上获取id
和email
,但无法将description form
转到我的profile method
I can get id
and email
on profile page after login, but can not get description form
to my profile method
这是我的数据库结构
login method:
@app.route('/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
email = request.form['email']
password = request.form['password']
cur = mysql.connection.cursor()
cur.execute('SELECT * FROM users.data WHERE email = %s AND password = %s',
(email, password))
account = cur.fetchone()
if account:
session['loggedin'] = True
session['id'] = account[0]
session['email'] = account[3]
return redirect(url_for('profile'))
else:
return render_template('error.html')
return render_template('login.html')
profile method:
@app.route('/profile', methods=['GET','POST'])
def profile():
if 'loggedin' in session:
return render_template('profile.html', id=session['id'], email=session['email'])
if request.method == 'POST':
description = request.form['text']
cur = mysql.connection.cursor()
cur.execute('UPDATE users.data SET description = %s WHERE id = ?', (description, session['id']))
mysql.connection.commit()
cur.close()
return render_template('profile.html', id=session['id'], email=session['email'], description=description)
else:
return 'NO'
return redirect(url_for('login'))
profile.html:
your session id is: {{ id }}
your session email is: {{ email }}
your session symptom is: {{ description }}
<form action="" method="post">
<input type="text" name="text" class="form-control" placeholder="description">
<button class="btn btn-primary">Add</button>
</form>
请协助.
推荐答案
我找到了答案:
@app.route('/profile', methods=['GET','POST'])
def profile():
if request.method == 'GET':
if 'loggedin' in session:
return render_template('profile.html', id=session['id'], email=session['email'])
elif request.method == 'POST':
description = request.form['description']
print(description)
cur = mysql.connection.cursor()
# cur.execute('INSERT INTO users.data(description) VALUES (%s)', (description))
cur.execute('UPDATE users.data SET description = %s WHERE id = %s', (description, session['id']))
mysql.connection.commit()
cur.close()
print(description)
return render_template('profile.html', description=description)
else:
return 'NO'
return redirect(url_for('login'))
这篇关于无法从html到python获取表单名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文