【发布时间】:2017-07-25 08:11:58
【问题描述】:
我是 Flask 的新手,所以我希望这不是一个愚蠢的问题。我使用烧瓶 wtforms 将数据发送到本地数据库(MySQL)。我需要使用 UTF-8 符号,例如(č、ć、đ、š 等)。我也尝试更改数据库中的编码,但没有奏效。有什么推荐的吗,不胜感激,谢谢! :)
class RegistrationForm(Form):
username = StringField('Username', validators=[DataRequired(), Length(min=2, max=25)])
lozinka = StringField('Lozinka', validators=[DataRequired(), Length(min=5, max=25)])
email = StringField('Email', validators=[DataRequired(), Length(min=2, max=25)])
ime = StringField('Ime', validators=[DataRequired(), Length(min=2, max=25)])
prezime = StringField('Prezime', validators=[DataRequired(), Length(min=2, max=25)])
tracking = StringField('Tracking', validators=[DataRequired(), Length(min=2, max=1000)])
和
@app.route('/register/', methods=["GET","POST"])
def register_page():
form = RegistrationForm(request.form)
if request.method == "POST":
username = form.username.data
lozinka = sha256_crypt.encrypt(str(form.lozinka.data))
email = form.email.data
ime = form.ime.data
prezime = form.prezime.data
tracking = form.tracking.data
c, conn = connection()
c.execute("INSERT INTO ucenici VALUES (NULL, %s, %s, %s, %s, %s, %s)",(escape_string(username), escape_string(lozinka), escape_string(email), escape_string(ime), escape_string(prezime), escape_string(tracking)))
c.execute("SELECT * FROM ucenici")
data = c.fetchall()
print(data)
conn.commit()
c.close()
conn.close()
return "unio sam"
return render_template("register.html", form=form)
register.html 文件如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>U NOS, U BAZU</title>
</head>
<body>
<div class = "container">
<h4>Register</h4>
<br>
{% from "_formhelpers.html" import render_field %}
<form method=post action="/register/">
<dl>
{{render_field(form.username)}}
{{render_field(form.lozinka)}}
{{render_field(form.email)}}
{{render_field(form.ime)}}
{{render_field(form.prezime)}}
{{render_field(form.tracking)}}
</dl>
<p><input type=submit value=Register></p>
</form>
{% if error %}
<p class="error"><strong>Error:</strong>{{error}}</p>
{% endif %}
</div>
</body>
</html>
谢谢!
【问题讨论】:
-
您要解决的问题是什么?
-
对不起,如果我不清楚,我想在“Paško”而不是“PaÅ¡ko”这样的基础中拥有数据
标签: python utf-8 flask wtforms flask-wtforms