python - 我在代码中做错了什么,通过 Flask 应用程序向 MySQL 提交表单值?
问题描述
我正在尝试考虑表单输入来生成随机代码,例如用户想要生成的随机代码的数量。然后将这些数据添加到 MySQL 表中。
这是HTML:
<HTML>
<BODY bgcolor="cyan">
<form method="POST" action="">
<center>
<H1>Enter your details </H1> <br>
Code-Attribute (eg. itsa19) <input type = "text" name= "code_attribute" /> <br>
Max Usage <input type = "number" name = "max_usage" /> <br>
Max No of Users <input type = "number" name = "users" /> <br>
Data Volume (in GB) <input type = "number" name = "data_volume" /> <br>
How many codes you want to create? <input type = "number" name = "number_of_codes" /> <br>
<input type="submit" value="Upload code in Database">
</center>
</form>
</BODY>
</HTML>
烧瓶应用程序将获取这些数据,并将随机代码附加到代码属性。然后它执行游标将数据插入表中。
这是烧瓶应用程序:
from flask import Flask, render_template, request
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = 'MY_DB'
mysql = MySQL(app)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == "POST": // Gets the form inputs
details = request.form
AttributeCode = details['code_attribute']
MaxUsage = details['max_usage']
NumberOfUsers= details['users']
UsageVol = details['data_volume']
NumberOfCodes = details['number_of_codes']
import string
import random
def random_numbers(): // Generate Random Codes (Column 1)
N = 7
res = ''.join(random.choices(string.ascii_lowercase +
string.digits, k = N))
prefix = AttributeCode
DiscountCode = prefix + res
columns = [MaxUsage, NumberOfUsers, UsageVol]
randoms.append(DiscountCode) // appends column values
randoms.extend(columns)
cur = mysql.connection.cursor()
cur.execute("INSERT INTO discount_codes(codes, max_usage, users, data_volume) VALUES (%s, %s, %s, %s)", (randoms[0],randoms[1],randoms[2],randoms[3])) # I have also tried puting ('TestCode', 2 ,3 ,4)
mysql.connection.commit()
cur.close()
for _ in range(NumberOfCodes):
random_numbers()
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
请帮忙。提前致谢。
解决方案
推荐阅读
- git - 将私有 GitHub 存储库所有权转移给 Bitbucket 组织
- angular - 如何正确地在 NgModule 上声明组件,因为它可以在路由模块中可见?
- javascript - Discord 机器人在再次使用命令之前显示剩余冷却时间
- python - python整数格式转换
- css - CSS 列布局(flexbox、float、columns)
- json - 如何根据key中的字符串获取json字符串的key和value
- r - Bookdown:plugin-highlight.css 的目的是什么
- java - JButton 的 actionPerformed 不会使用 .setText() 方法更改 JTextField 的文本
- ios - Xamarin iOS 打开 sqlite 文件 SQLite.SQLiteException:'文件不是数据库'
- python - 如何使用 pytest 仅打印摘要?