Jul-15-2020, 11:10 AM
I'm trying to build a webapp using Flask and the part with the database is a little bit confunsing since and want to wrap the creation of the tables in my main app file. I could create tables without flask but now I'm trying to create these using flask. But there is an error that I don't understand and don't know how to fix it.
Here is my code without flask
db_connect.py
web_app.py
Here is my code without flask
db_connect.py
import pymysql db = pymysql.connect(host="localhost",user="root",passwd="",database="db" ) cursor = db.cursor() create_table_1 = """CREATE TABLE t1( ... )""" cursor.execute(create_table_1) create_table_2 = """CREATE TABLE t2( ... )""" cursor.execute(create_table_2) create_table_3 = """CREATE TABLE t3( ... ) cursor.execute(create_table_3) db.close()And here is the code not working!
web_app.py
from flask import Flask, render_template, url_for, flash, redirect import pymysql app = Flask(__name__) app.config['SECRET_KEY'] = '...' app.config['host'] = 'localhost' app.config['user'] = 'root' app.config['passwd'] = '' app.config['database'] = 'db' db = pymysql.connect() cursor = db.cursor() create_table_1 = """CREATE TABLE t1( ... )""" create_table_2 = """CREATE TABLE t2( ... )""" create_table_3 = """CREATE TABLE t3( ... )""" cursor.execute(create_table_1, create_table_2, create_table_3) @app.route("/") @app.route("/home") def home(): ... return render_template('home.html', food=foods) db.commit() cursor.close() db.close() if __name__ == '__main__': app.run(debug=True)Here is the Error
Traceback (most recent call last): File "web_app.py", line 75, in <module> cursor.execute(create_table_1, create_table_2, create_table_3) File "C:\Users\Computer\...\...\env\lib\site-packages\pymysql\cursors.py", line 168, in execute query = self.mogrify(query, args) File "C:\Users\Computer\...\...\env\lib\site-packages\pymysql\cursors.py", line 147, in mogrify query = query % self._escape_args(args, conn) TypeError: not all arguments converted during string formatting