Die Flask -App funktioniert mit Curl, jedoch nicht mit der HTTP -Anfrage
Posted: 10 Feb 2025, 18:11
Situation: Dies ist mein erstes Full-Stack-Projekt. Ich verwende HTML/CSS/Bootstrap mit Python/Flask/SQLite für eine einfache Mietbuchungs-WebApp. Die Homepage ist abgeschlossen und umfasst unter anderem ein einfaches Kontaktformular für Besucher, um Fragen zu den Mieteinheiten zu senden. Eine Kontaktnachricht in SQLite. Der Datensatz enthält einen Namen, eine E -Mail und eine Kontaktnachricht. < /p>
Hinweise: Der Befehl curl verwendet Post, der Flask -Server erwartet Post und das Kontaktformular für Web -Apps verwendet Post. Der Flask -Server wird ausgeführt, wenn ich dies ausprobiere. Code -Ausschnitte: < /p>
-Backend/
---- Contact_Messages_Post_API.py < /p>
---- contact_messages.db < /p>
-Frontend /< /p>
---- Index.html
---- Styles.css
Hinweise: Der Befehl curl verwendet Post, der Flask -Server erwartet Post und das Kontaktformular für Web -Apps verwendet Post. Der Flask -Server wird ausgeführt, wenn ich dies ausprobiere. Code -Ausschnitte: < /p>
- HTML -Kontaktformular < /li>
< /ol>
Have questions? We'd love to hear from you! Please use this form to get in touch.
Name:
Email:
Message:
< /code>
Flask Server < /li>
< /ol>
import sqlite3
from flask import Flask, request, jsonify
from contact_messages_db import create_contact_table
app = Flask(__name__, static_url_path='/frontend', static_folder='frontend')
# Call the function to create the table
create_contact_table()
@app.route('/backend/contact_messages_post_api', methods=['POST'])
def submit_contact_form():
# Connect to the SQLite database
conn = sqlite3.connect('contact_messages.db')
cursor = conn.cursor()
# Handle the POST request here
data = request.json
# Extract data fields
contact_name = data.get('contact_name')
contact_email = data.get('contact_email')
contact_message = data.get('contact_message')
# Insert data into the database
cursor.execute("INSERT INTO contact_messages (contact_name, contact_email, contact_message) VALUES (?, ?, ?)",
(contact_name, contact_email, contact_message))
# Commit changes
conn.commit()
return jsonify({'message': 'Data received and stored successfully'})
if __name__ == '__main__':
app.run(debug=True)
< /code>
curl -Befehl < /li>
< /ol>
curl -X POST -H "Content-Type: application/json" -d '{"contact_name": "John Doe", "contact_email": "john@example.com", "contact_message": "Hello, this is test 3."}' http://127.0.0.1:5000/backend/contact_messages_post_api
< /code>
Ordnerstruktur (Ist es ein großes Problem, wenn der Flask -Server die HTML -Dateien nicht einschließt?): < /li> < br/>
-Backend/
---- Contact_Messages_Post_API.py < /p>
---- contact_messages.db < /p>
-Frontend /< /p>
---- Index.html
---- Styles.css