Как создать небольшое всплывающее окно при отправке формы с использованием flask / html - PullRequest
0 голосов
/ 26 января 2020

Я создал небольшую программу для регистрации гостей. Это показывает небольшую форму, где люди могут ввести свою информацию. Эта информация затем отправляется в базу данных 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...