Я создал небольшую программу для регистрации гостей. Это показывает небольшую форму, где люди могут ввести свою информацию. Эта информация затем отправляется в базу данных sqlite3. Пока все работает, я пытаюсь добавить всплывающее окно, которое будет отображаться после нажатия на кнопку регистрации. Это всплывающее окно будет пылесосить на исходной странице. Я студент первого курса в разработке программного обеспечения и довольно плохо знаком с этим. Кто-нибудь может указать мне правильное направление, как это сделать? Нужно ли иметь AJAX запрос на использование javascript с этим вопросом?
Заранее спасибо!
мой Python / Flask код:
from flask import Flask, render_template, url_for, request, redirect, flash
from datetime import datetime
import sqlite3
from sqlite3 import Error
app = Flask(__name__)
# Here I create a DB and a connection
def create_connection(db_file):
connection = None;
try:
conn = sqlite3.connect(db_file)
print(sqlite3.version)
except Error as e:
print(e)
return conn
# here I insert the created tab;es
def main():
database = r"gast.db"
sql_create_guests_table = """ CREATE TABLE IF NOT EXISTS guests (
id integer PRIMARY KEY,
voor_naam text NOT NULL,
achter_naam text NOT NULL,
bedrijfs_naam text NOT NULL,
datum date NOT NULL
); """
conn = create_connection(database)
if conn is not None:
# maak gast table
create_table(conn, sql_create_guests_table)
else:
print("Error! cannot create the database connection.")
def create_guest(conn, guests):
sql = ''' INSERT INTO guests(voor_naam,achter_naam,bedrijfs_naam,datum)
VALUES(?,?,?,?) '''
cur = conn.cursor()
cur.execute(sql,guests)
return cur.lastrowid
# index for the html page
@app.route('/')
def index():
return render_template("index.html")
# sending input form form to db
@app.route('/my_form', methods=['POST'])
def my_form():
database = r"gast.db"
if request.method == 'POST':
conn = create_connection("gast.db")
with conn:
guest_vnaam = request.form.get('Voornaam')
guest_anaam = request.form.get('Achternaam')
guest_cnaam = request.form.get('Bedrijfsnaam')
guest_datum = request.form.get('Datum')
try:
guest = (guest_vnaam, guest_anaam, guest_cnaam, guest_datum)
create_guest(conn,guest)
return render_template("index.html")
except:
return 'oops, er is iets verkeerd gegaan...'
# This is where I run the app
if __name__ == '__main__':
app.run(debug=True)
И мой HTML код:
{% block body %}
<form action="{{ url_for('my_form') }}" method="POST">
<div class="container">
<h1>Gasten registratie</h1>
<p>Vul dit formulier in om te registreren</p>
<hr>
<label for="First-Name"><b>Voornaam</b></label>
<input type="text" id="First-Name" placeholder="Vul hier uw voornaam in" name="Voornaam" required>
<label for="Last-Name"><b>Achternaam</b></label>
<input type="text" id="Last-Name" placeholder="Vul hier uw achternaam in" name="Achternaam" required>
<label for="Company-name"><b>Bedrijfsnaam</b></label>
<input type="text" id="Company-name" placeholder="Vul hier uw bedrijfsnaam in" name="Bedrijfsnaam" required>
<label for="Date"><b>Datum</b></label>
<input type="date" id="Date" placeholder="Selecteer de Datum" name="Datum" required />
<hr>
<p>In het kader van onze ISAE certificering registreren wij uw gegevens.</p>
<p>Wij verwerken uw gegevens volgends de regels van het AVG.</p>
<button type="submit" class="registerbtn">Registreren</button>
</div>
</form>
{% endblock %}