[PYTHON] (Für mich) Flask_4 (Dropdown-Menü, TXT-Daten anzeigen (mithilfe der Tabelle))

Artikel

  1. Erstellen eines Dropdown-Menüs
  2. Lesen Sie die TXT-Daten
  3. Ordnen Sie txt an

1. Erstellen eines Dropdown-Menüs

python


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

players = ["Mutig", "Krieger", "Magier", "Ninja"]

@app.route("/")
def show():
    message = "Ein neues Monster ist erschienen!"
    return render_template("battle.html", message = message, players = players)

html


<form action="/result" method="post">
    <select name="name">
        {% for player in players %}
            <option value="{{ player }}">{{ player }}</option>
        {% endfor %}
    </select>
    <p></p>
    <button type="submit">Kampf</button>
</form>

2. Lesen Sie die TXT-Daten

python


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

@app.route("/")
def bbs():
    file = codecs.open("articles.txt", "r", "utf-8")
    lines = file.readlines()
    file.close()
    return render_template("bbs.html", lines = lines)

@app.route("/result", methods=["POST"])
def result():
    article = request.form["article"]
    name = request.form["name"]
    return render_template("bbs.html", article = article, name = name)

--Declare import codecs
Es scheint, dass Sie Daten mit dem angegebenen Zeichencode mithilfe von Codecs lesen können. --file = codecs.open ("articles.txt", "r", "utf-8") Der durch angegebene txt wird von utf-8 im r -Modus in die file variable von utf-8 gestellt. --lines = file.readlines () liest alle Daten in einer zeilenweisen Liste. <br> Übrigens liest .readline () nur eine Zeile und .read ()` ist für die Liste irrelevant. Lesen Sie alles

html


{% for line in lines: %}
    <p>{{ line.rstrip() }} </p>
{% endfor %}

--- Zeigen Sie einfach die Daten an, die der Zeile nacheinander mit der for-Anweisung zugewiesen wurden --- .rstrip () löscht nur einen Zeilenvorschubcode am Zeilenende

3. Ordnen Sie die gelesenen txt-Daten an

――Es ist eine HTML-ähnliche Geschichte, die nur das Erscheinungsbild ordnet, sodass Sie py nicht berühren müssen.

html


<table>
    <tr><th>Post</th><th>Name</th></tr>
        {% for line in lines: %}
            {% set column = line.rstrip().split(",") %}
            <tr>
                {% for item in column: %}
                    <td>{{ item }}</td>
                {% endfor %}
            </tr>
        {% endfor %}
</table>

txt


Hello World,peko
Hello Ruby,oz
Hello Sinatra,toramaru
Jeder auf der Welt Konnichiha,Kirishima
Miau,Katze

Wenn es sich um txt-Daten handelt, wird im ersten Versuch von for

--Line hat die Daten Hello World, peko (Zeilenvorschubcode )

Ist enthalten. Vergessen Sie nicht zu erklären, dass Sie es mit dem tr-Tag horizontal platzieren können.

4. Am Ende

――Ich weiß, wie man einen Server in AWS bekommt, aber was ist mit einer Domain? ――Ist es möglich, kostenlose Domains zu verwenden, die an anderer Stelle in AWS erworben wurden? »Ich glaube, du sagst etwas Seltsames und liegst falsch

Recommended Posts

(Für mich) Flask_4 (Dropdown-Menü, TXT-Daten anzeigen (mithilfe der Tabelle))
(Für mich) Flask_5 (Zur txt-Datei hinzufügen)
(Für mich) Flask_7 (Datenbank von Flask öffnen)
[Python] Neunundneunzig Tabellen, die for-Anweisungen verwenden
Eindrücke von der Verwendung von Flask für einen Monat
(Für mich) Setzen Sie den Kolben in den VS-Code ein
(Für mich) Flask_3 (Formular, POST und GET)