Мы пытаемся создать прототип для приложения, использующего Flask-Postman-Mysql.
В настоящее время мы вставляем некоторые данные в Postman, которые должны быть доступны из внешнего интерфейса с помощью Flask и сохранены вMysql стол.Здесь мы можем вставить одно поле, но не несколько полей.Вот данные почтальона:
Вот код в Flask для вставки одной записи:
from flask import Flask, request, jsonify, make_response
from flask_sqlalchemy import SQLAlchemy
import jwt
import datetime
from functools import wraps
import mysql.connector
app = Flask(__name__)
app.config['SECRET_KEY'] = 'thisissecret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:1234@localhost/flask2018'
db = SQLAlchemy(app)
class Users(db.Model):
name = db.Column(db.Integer, primary_key=True)
password = db.Column(db.String(80))
@app.route('/users', methods=['POST'])
def create_user():
data = request.get_json()
create_user= Users( name=data['name'], password=data['password'])
db.session.add(create_user)
db.session.commit()
return jsonify({'message' : 'New user created!'})
if _name_ == '__main__':
app.run(debug=True,port=4022)
Вот код в Flask для нескольких записей: (выдает ошибку)
from flask import Flask, jsonify,request
from flaskext.mysql import MySQL
app = Flask(__name__)
mysql = MySQL(app)
# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = '1234'
app.config['MYSQL_DATABASE_DB'] = 'flask2018'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
@app.route('/users', methods=['POST'])
def get():
cur = mysql.connect().cursor()
json_dict = request.get_json()
name = str(json_dict["name"])
password = str(json_dict["password"])
#with cur.cursor() as cursor:
values = 'INSERT INTO users(name,password) VALUES(%s,%s)'
cur.execute(values, (name,password))
mysql.connect().commit()
#cur.close()
return jsonify()
if _name_ == '__main__':
app.run(debug=True,port=4022)
Когда мы запускаем указанную выше программу несколько раз, она отображает такие ошибки, как 1. "Key Name" = 'name' 2. Дублирующая запись 3. 401 Несанкционированный и т. д.
Есть предложения по улучшению?