[PYTHON] (Pour moi) Flask_3 (formulaire, POST et GET)

article

  1. Qu'est-ce qu'un formulaire d'entrée et un formulaire léger?
  2. Un gars qui ressemble à un babillard avec la méthode POST
  3. Un gars qui ressemble à un babillard avec la méthode GET

1. Ressentez le formulaire dans le formulaire de saisie

――Si vous faites juste un formulaire, vous n'avez pas à vous soucier de quoi que ce soit du côté py (y a-t-il une telle chose?)

html


<form action="/result" method="post">
    <label for="article">Publier</label>
    <input type="text" name="article">
    <p></p>
    <label for="name">Nom</label>
    <input type="text" name="name">
    <button type="submit">Envoyer</button>
</form>

--ʻAction = "/ result" spécifie d'envoyer des données à / result --Déterminez la méthode à utiliser avec method =" post " --ʻInput type = "text" name = "article"décide de créer un champ de saisie d'une ligne avec text, et colore les données entrées comme article. ――Le fond est presque le même --- En spécifiant <button type =" submit "> submit </ button> comme submit, un bouton pour soumettre les données est créé.

--Ce `

'' est utilisé lors de la création d'un formulaire d'entrée / soumission.

2. Recevoir les données d'entrée à l'aide de la méthode POST

  • Premièrement, préparation côté python pour recevoir

python


from flask import Flask, request, render_template
app = Flask(__name__)

@app.route("/")
def show():
    message = "Hello World"
    return render_template("form.html", message = message)

@app.route("/result", methods=["POST"])
def result():
    article = request.form["article"]
    name = request.form["name"]
    return render_template("form.html",article = article, name = name)
  • Déclarer ci-dessus en utilisant request
  • Ecrire que la méthode POST est utilisée en spécifiant l'adresse spécifiée du côté html ci-dessus avec @ app.route (" / result ", methods = [" POST "]). --L'endroit où la variable a été faite est request.form [" ~~~ "], afin que vous puissiez recevoir les données de l'attribut name attaché côté html
    Ici, vous recevez ʻarticle` etc. ――Le reste est presque comme vous le voyez

html


<form action="/result" method="post">
    <label for="article">Publier</label>
    <input type="text" name="article">
    <p></p>
    <label for="name">Nom</label>
    <input type="text" name="name">
    <button type="submit">Envoyer</button>
</form>
<p>{{ article }} {{ name }}</p>

--C'est presque le même que le html ci-dessus, mais {{article}} {{name}} Seulement ici c'est différent
Eh bien, c'est la même chose que d'afficher des variables

3. Recevoir les données d'entrée en utilisant la méthode GET

  • Si vous utilisez la méthode GET, lorsque vous recevez les données d'entrée et affichez / result, cela ressemblera à
    / result? Article = Hello & name = World, et le contenu d'entrée apparaîtra dans l'adresse.

python


from flask import Flask, request, render_template
app = Flask(__name__)

@app.route("/")
def show():
    message = "Hello World"
    return render_template("form.html", message = message)

@app.route("/result", methods=["GET", "POST"])
def result():
    if request.method == "POST":
        article = request.form["article"]
        name = request.form["name"]
    else:
        article = request.args.get("article")
        name = request.args.get("name")
    return render_template("form.html", article = article, name = name)

--methods = ["GET", "POST"] rend les deux méthodes compatibles --ʻSi request.method == Lorsque la méthode demandée par "POST": ʻest POST ... --GET s'écrit request.args.get (" ~~~ ") comme ʻarticle = request.args.get ("article") <br><br> --Pour le HTML, c'est OK si vous définissez la méthode écrite àmethod =" get "`

4. À la fin

――Pour le moment, comme ça ――Je sens que l'avenir s'allonge

Recommended Posts

(Pour moi) Flask_3 (formulaire, POST et GET)
Obtenir les paramètres de requête pour Flask GET
(Pour moi) Flask_2 (liste et pour, étend, et un peu plus)
(Pour moi-même) Flask_7 (Ouvrir la base de données depuis Flask)
(Pour moi) Flask_ex (modèles et statique)
(Pour moi) Flask_5 (Ajouter au fichier txt)
POSTER diversement avec Python et recevoir avec Flask
(Pour moi) Mettez Flask dans VS Code
Obtenez le paramètre et le corps de l'article, activez CORS dans Flask (Python) et Express (Node.js)
python [pour moi]
POSTER l'image avec json et la recevoir avec flask
* Android * [Communication HTTP_2] Communication HTTP avec Flask (appuyez sur API Web [GET, POST])
Communication GET / POST par Flask (également à propos du support CORS)
Tutoriel Flask # 1 ~ GET Request ~
mémo heroku (pour moi)
Mémorandum Freecad (pour moi)
Comparez HTTP GET / POST avec cURL (commande) et Python (programmation)
(Pour moi-même) Flask_6 (Open db depuis python, Mysql basic (phpMyAdmin))
Recherchez le pandas.DataFrame avec une variable et obtenez la ligne correspondante.
(Pour moi-même) Flask_4 (Menu déroulant, Afficher les données txt (en utilisant le tableau))