У меня есть приложение Flask и один из маршрутов добавления пользователя. Маршрут вызывается, когда форма заполнена и отправлена. Дело в том, что когда я отправляю форму, я получаю всплывающее сообщение с надписью «Ожидаемое значение: строка 1, столбец 1 (символ 0)». Насколько я понимаю, приложение, похоже, не принимает мою полезную нагрузку, но я не понимаю, почему.
#Front end
@app.route('/add-user', methods=['POST'])
def addUser():
username = request.form.get('username')
email = request.form.get('email')
password = request.form.get('password')
# Vérification des données
if not username or not email or not password:
flash("Tous les champs sont obligatoires.", "error")
return redirect('/')
payload = {
"username": username,
"email": email,
"password": password
}
# Appel de l'API pour ajouter un utilisateur
try:
response = requests.post('http://' + BACK_END_IP + ':' + BACK_END_PORT + '/add-user', json=payload)
if response.status_code == 200:
flash("Utilisateur ajouté avec succès.", "success")
return redirect('/')
else:
error_message = response.json().get("error", "Erreur inconnue.")
flash(f"Erreur : {error_message}", "error")
return redirect('/')
except requests.exceptions.RequestException as e:
flash(f"Impossible de se connecter à l'API. Détails : {str(e)}", "error")
return redirect('/')
#Back end
@app.route('/add-user', methods=['POST'])
def addUser():
current_user = get_user_from_token(request)
if current_user.admin:
data = request.get_json()
username = data.get('username')
email = data.get('email')
password = data.get('password')
if not username or not email or not password:
return jsonify({"error": "Tous les champs sont requis."}), 400
# Creation de user et account
try:
new_user = User(public_id=str(uuid.uuid4()), username=username, password=hash_password(password), email=email,
admin=False, two_factor_enabled=False, valid_code=None, valid_code_exp=None,
reset_pswd_code=None, reset_pswd_exp=None)
db.session.add(new_user)
db.session.commit()
account_user = Account(user=new_user.id, public_id=str(uuid.uuid4()), balance=0)
db.session.add(account_user)
db.session.commit()
return jsonify({"message": "Utilisateur ajouté avec succès."}), 200
except Exception as e:
# Capture et affichage de l'erreur
db.session.rollback()
return jsonify({'message': f"Une erreur est survenue : {str(e)}"}), 500
else:
return jsonify({'message': 'You are not admin'}), 401
Я пытался использовать jsonify() для полезной нагрузки, и это просто привело к ошибке.
Я проверил серверный запрос на почтальоне, и он сработал. Я просто положил это сюда для понимания
У меня есть приложение Flask и один из маршрутов добавления пользователя. Маршрут вызывается, когда форма заполнена и отправлена. Дело в том, что когда я отправляю форму, я получаю всплывающее сообщение с надписью «Ожидаемое значение: строка 1, столбец 1 (символ 0)». Насколько я понимаю, приложение, похоже, не принимает мою полезную нагрузку, но я не понимаю, почему. [code]#Front end @app.route('/add-user', methods=['POST']) def addUser(): username = request.form.get('username') email = request.form.get('email') password = request.form.get('password')
# Vérification des données if not username or not email or not password: flash("Tous les champs sont obligatoires.", "error") return redirect('/')
# Appel de l'API pour ajouter un utilisateur try: response = requests.post('http://' + BACK_END_IP + ':' + BACK_END_PORT + '/add-user', json=payload) if response.status_code == 200: flash("Utilisateur ajouté avec succès.", "success") return redirect('/') else: error_message = response.json().get("error", "Erreur inconnue.") flash(f"Erreur : {error_message}", "error") return redirect('/') except requests.exceptions.RequestException as e: flash(f"Impossible de se connecter à l'API. Détails : {str(e)}", "error")
return redirect('/')
#Back end @app.route('/add-user', methods=['POST']) def addUser(): current_user = get_user_from_token(request) if current_user.admin: data = request.get_json() username = data.get('username') email = data.get('email') password = data.get('password')
if not username or not email or not password: return jsonify({"error": "Tous les champs sont requis."}), 400
# Creation de user et account try: new_user = User(public_id=str(uuid.uuid4()), username=username, password=hash_password(password), email=email, admin=False, two_factor_enabled=False, valid_code=None, valid_code_exp=None, reset_pswd_code=None, reset_pswd_exp=None) db.session.add(new_user) db.session.commit() account_user = Account(user=new_user.id, public_id=str(uuid.uuid4()), balance=0) db.session.add(account_user) db.session.commit()
return jsonify({"message": "Utilisateur ajouté avec succès."}), 200 except Exception as e: # Capture et affichage de l'erreur db.session.rollback() return jsonify({'message': f"Une erreur est survenue : {str(e)}"}), 500 else: return jsonify({'message': 'You are not admin'}), 401 [/code] Я пытался использовать jsonify() для полезной нагрузки, и это просто привело к ошибке. Я проверил серверный запрос на почтальоне, и он сработал. Я просто положил это сюда для понимания