[PYTHON] Ich möchte, dass Sie Flask's Lehrmaterialien bis jetzt sofort vorstellen ~ Lassen Sie uns Yuma mit Flask ~ implementieren

Einführung

Yuma ist nicht die Hauptsache.

Eines Tages

Ich wollte eine Web-App erstellen und beschloss, Flask zu studieren. Ich habe richtig gegoogelt und bin an einer bestimmten Stelle angekommen. Ähm, was?

Beispielcode


from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

Tun Sie dies an der Windows-Eingabeaufforderung

cmd


set FLASK_APP = hello.py
flask run

Und ausführen. Ich finde es unfreundlich, einen solchen Zauber ohne Haftungsausschluss wie "Hier wird der Beispielcode als" hello.py "gespeichert" wirken zu lassen, aber trotzdem flask1.png Das Ergebnis kann erhalten werden. Ich meine, dies ist nur eine Standardausgabe im Browser. Damit bin ich froh, dass der Inhalt leicht zu verstehen war! Yukari Oishi, sind Sie mit diesem Inhalt zufrieden? </ s>

Diejenigen, die Flask lernen wollen, sind diejenigen, die etwas Verständnis für Python und HTML haben und sie verbinden wollen. Ich kann mit einer solchen Probe nicht zufrieden sein. Danach habe ich mehrere Websites besucht und viele Beispielprogramme gefunden, die einfach HTML und Hello {{name}} gerendert haben. Es ist eine Web-App! Ich möchte eine Beispiel-Web-App, die leicht zu knacken ist, aber wirklich programmatisch! Dann können Sie sehen, wie Flask ist!

Täuschung

Bevor ich beispielsweise Flask erkläre, möchte ich ein Beispiel wie dieses sehen.

app.py


from flask import Flask, render_template
import random

app = Flask(__name__)

@app.route("/")
def hello_world():
    a = random.randint(1, 9)
    b = random.randint(1, 9)
    c = a * b
    return render_template("index.html",
                           val1 = a,
                           val2 = b,
                           val3 = c)

if __name__ == "__main__":
    app.run(debug=True)

Wann,

templates/index.html Legen Sie html in den Vorlagenordner


<html>
<body>
Ich habe es in Python anstelle von Javascript berechnet<br>
<b>{{val1}}</b>*<b>{{val2}}</b> = <b>{{val3}}</b>Was hast du gesagt.<br>
</body>
</html>

Wann, flask2.png Das Ausgabeergebnis. Wenn Sie dies von Anfang an zeigen, können Sie möglicherweise selbst entscheiden, wo Sie an diesem Punkt verstehen können, wo Sie die Beschreibung zum ersten Mal sehen und was Sie lernen sollten. Auf diese Weise erhalten Sie ein besseres Verständnis, selbst wenn Sie von der Standardausgabe in einem Browser lernen, der nicht einmal HTML ist, aber es gibt nicht viele solcher Lernseiten.

Yuma

Ich war mit dem obigen Beispiel nicht zufrieden und sagte: "Es ist eine Web-App! Es ist eine Web-App! Geben Sie es in den Browser ein, berechnen Sie es in Python und geben Sie es in den Browser aus. Ohne es ist es keine Web-App." Einige mögen extravagant sein und eine praktischere Probe erfordern.

Ich werde einer solchen Person ein solches Beispiel präsentieren. Ja, es ist Yuma. Mein Wissen über HTML hat vor 25 Jahren aufgehört, daher könnte ich beschimpft werden, wenn ich sage "Benutze \
nicht so!". Auch wenn diesmal weggelassen wird, ist es besser, "" usw. richtig zu schreiben.

app.py


from flask import Flask, render_template, request, redirect
import random

app = Flask(__name__)

@app.route("/")
def input():
    return render_template("input.html")

@app.route("/answer", methods=["post"])
def answer():
    name = request.form["inputname"]
    try:
        new_name = random.choice(name)
        return render_template("answer_named.html",
                               name = name,
                               new_name = new_name)
    except Exception as e:
        return render_template("answer_noname.html",
                               error = e)

if __name__ == "__main__":
    app.run(debug=True)

templates/input.html


<html>
<head>
<link rel="stylesheet" type="text/css" href="static/style.css">
</head>
<body>
<img src = "static/yuba.png "><br>
Es ist ein Vertrag. Schreiben Sie dort Ihren Namen.<br>
<br>
<form action="/answer" method="post">
<textarea name="inputname"></textarea><br>
<button type="submit">POST</button>
</form>
</body>
</html>

templates/answer_named.html


<html>
<head>
<link rel="stylesheet" type="text/css" href="static/style.css">
</head>
<body>
<img src = "static/yuba.png "><br>
Hung.<dev class="before">{{name}}</dev>Ich meine. Es ist ein luxuriöser Name.<br>
Von nun an heißt du<dev class="after">{{new_name}}</dev>Es ist. Wohlgemerkt,<dev class="after">{{new_name}}</dev>Korrekt.<br>
Ich werde antworten, wenn ich verstehe<dev class="after">{{new_name}}</dev>!!<br>
<br>
<a href="/">Zurück nach oben</a>
</body>
</html>

templates/answer_noname.html


<html>
<head>
<link rel="stylesheet" type="text/css" href="static/style.css">
</head>
<body>
<img src = "static/haku.png "><br>
Vielen Dank, Chihiro. mein Name ist<div class="haku"> {{error}}</div><br>
Ich erinnere mich, als du eine Null in mich gesetzt hast und gefallen bist.<br>
Sie haben versucht, den Fehler zu beheben.<br>
<br>
<a href="/">Zurück nach oben</a>
</body>
</html>

static/style.CSS Legen Sie CSS und Bilder in einem statischen Ordner ab


.before {
    color: #FF0000;
    font-size: 120%;
    font-style: italic;
}

.after {
    color: #0000FF;
    font-size: 150%;
}


.haku {
    color: #FF00FF;
    font-size: 120%;
    font-weight: bold;
}

flask3.png

flask4.png

flask5.png

Wenn ich mir so etwas anschaue, habe ich das Gefühl, dass ich [Saiseriya 1000 Yen Gacha] machen kann (https://qiita.com/marusho_summers/items/a2d3681fac863734ec8a). Ich denke, es ist wichtig zu sagen: "Ich habe das Gefühl, dass ich es selbst schaffen kann." "Lass uns Flask von Grund auf lernen, die Standardausgabe ist" return "Hello World!" ". Repeat After Me" motiviert dich nicht.

Am Ende

Bisher wurde es mit OpenCV als Japanisch zeichnen Zusammengesetzte Bilder bezeichnet. Da ich das getan habe, wollte ich auch hier einen Artikel schreiben, in dem es heißt: "Wenn Sie OpenCV in Flask verwenden, können Sie etwas herstellen, das einst beliebt war ** genau wie ein Außenstraßengenerator **!" Ich bin in die heiße Quelle gekommen, weil sie beliebt war. Derzeit studiert Heroku.

Referenz

Versuchen Sie, Yuma in Java zu implementieren Vermeiden von Fehlern, die von Yuma in Java ausgegeben wurden Ich habe zum ersten Mal Pythons try ~ außer verwendet. Versuchen Sie, Yuma in Python zu implementieren

Recommended Posts

Ich möchte, dass Sie Flask's Lehrmaterialien bis jetzt sofort vorstellen ~ Lassen Sie uns Yuma mit Flask ~ implementieren
Ich möchte mit einem Knopf am Kolben übergehen
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten
Ich möchte ○○ mit Pandas machen
Ich möchte mit Python debuggen