добавление пользователей из базы данных в json файл
У меня есть база данных с пользователями. Вот структура
Такой вопрос: как создать json файл, чтобы видеть данные всех пользователей в формате json такого типа:
{
"id": "47",
"firstname": "user",
"lastname": "user",
"email": "[email protected]",
"born_date": "17.06.2020",
"password": "123123",
"phone_number": "123123123",
"description": "firstdescription"
},
Чтобы я уже и существующих пользователей мог перенести в json-формат и следующих зарегистрированных.
Вот код регистрации:
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
firstname = request.form['firstname']
lastname = request.form['lastname']
email = request.form['email']
password = request.form['password']
phone_number = request.form['number']
born_date = request.form['date']
description = request.form['description']
# password = hashlib.md5(password.encode())
# password = password.hexdigest()
cur = mysql.connection.cursor()
cur.execute('SELECT * FROM users.data WHERE email = %s AND password = %s',
(email, password))
account = cur.fetchone() # get all in account variable
if account:
return render_template('exist.html')
else:
session['email'] = email
session['firstname'] = firstname
cur.execute('INSERT INTO users.data(firstname, lastname, email, born_date, password, phone_number, description) VALUES (%s, %s, %s, %s, %s, %s, %s)',
(firstname, lastname, email, born_date, password, phone_number, description))
mysql.connection.commit()
cur.close()
return redirect(url_for('profile'))
return render_template('register.html')
Ответы (1 шт):
Автор решения: abby
→ Ссылка
В общем сделал так:
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
firstname = request.form['firstname']
lastname = request.form['lastname']
email = request.form['email']
password = request.form['password']
phone_number = request.form['number']
born_date = request.form['date']
description = request.form['description']
# password = hashlib.md5(password.encode())
# password = password.hexdigest()
cur = mysql.connection.cursor()
cur.execute('SELECT * FROM users.data WHERE email = %s AND password = %s',
(email, password))
account = cur.fetchone() # get all in account variable
if account:
return render_template('exist.html')
else:
session['email'] = email
session['firstname'] = firstname
cur.execute('INSERT INTO users.data(firstname, lastname, email, born_date, password, phone_number, description) VALUES (%s, %s, %s, %s, %s, %s, %s)',
(firstname, lastname, email, born_date, password, phone_number, description))
mysql.connection.commit()
cur.close()
cur = mysql.connection.cursor()
cur.execute("SELECT id, firstname, lastname, email, born_date, password, phone_number FROM users.data WHERE description = 'doctor'") # тут добавить выбор id, born_date, password, phone_number
account = cur.fetchall()
description = account
cur.close()
cur = mysql.connection.cursor()
cur.execute("SELECT * FROM users.data")
account = cur.fetchall()
description = account
content = {}
content = description
with open('data_json.json', 'w') as json_file:
json.dump(content, json_file, indent=4)
return render_template('profile.html', email=session['email'], firstname=session['firstname'], description=description)
return render_template('register.html')