Sie sagten Studie Python. Außerdem habe ich gesagt, dass Sie HTML5 nicht lernen müssen. Das ist *** Lüge ***.
Es ist nicht gerade eine Lüge, aber was ich bei der Untersuchung des Inhalts gefunden habe, wird mithilfe der Funktion von Python und der Funktion Flask (jinja2) realisiert.
Ich habe eine Beschreibung nur mit Flask gemacht, wie unten gezeigt, und es mit "Elektron" versucht, aber es funktioniert richtig.
$ cat index.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import print_function
import time
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "<!DOCTYPE html>\
<html lang=\"en\">\
<head>\
<meta charset=\"utf-8\">\
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\
<script src=\"http://code.jquery.com/jquery-1.11.1.min.js\"></script>\
<link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css\" rel=\"stylesheet\" integrity=\"sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7\" crossorigin=\"anonymous\">\
<script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js\" integrity=\"sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS\" crossorigin=\"anonymous\"></script>\
</head>\
<body>\
<div class=\"container\">\
<div class=\"header\">\
<h3 class=\"text-muted\">Yesterday</h3>\
</div>\
</div>\
</body>\
</html>"
if __name__ == "__main__":
app.run(host="127.0.0.1", port=5000)
Es ist besser, Folgendes zu tun, als HTML in Python zu schreiben.
Inhalt von index.py
$ cat index.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import print_function
import time
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == "__main__":
app.run(host="127.0.0.1", port=5000)
Inhalt von templates / index.html
$ cat templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="header">
<h3 class="text-muted">Sample Page</h3>
</div>
</div>
</body>
</html>
Wenn Sie "templates / sample / sample.html" wie unten gezeigt erstellen, Jinja2 verwenden und einen Link einfügen, scheint dies zu funktionieren. (Wenn der Vorlagenordner mehrere Dateien enthält, scheint dies nicht zu funktionieren?)
$ cat index.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import print_function
import time
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
next = u'Ich gehe zur nächsten Seite'
return render_template('/index.html', message=next)
@app.route('/sample/')
def sample():
return render_template('/sample/sample.html')
if __name__ == "__main__":
app.run(host="127.0.0.1", port=5000)
Inhalt von /templates/index.html
$ cat Downloads/work/templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="header">
{% if message %}
<h3 class="text-muted"><a href="/sample">{{message}}</a></h3>
{% endif %}
</div>
</div>
</body>
</html>
Inhalt von /templates/sample/sample.html
$ cat Downloads/work/templates/sample/sample.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="header">
<h3 class="text-muted"><a href="/">Ich werde wiederkommen</a></h3>
</div>
</div>
</body>
</html>
Ich habe die Details nicht unterdrückt, also werde ich mich daran gewöhnen, aber es scheint, dass Variablen und if-Anweisungen verwendet werden können und sie in HTML behandelt werden.
Und es scheint, dass das Innere von app.route, das in Python geschrieben ist, streng ist.
Jinja2 scheint als Ordner zu gelten, wenn es mit "/" endet, und als Datei, wenn es wie "/ sample" endet.
Infolgedessen dachte ich, ich könnte nicht mit / sample
darauf zugreifen, aber ich musste das Verzeichnis durchsuchen.
In der HTML-Datei wird der Inhalt von / templates / index.html
als Nachricht unter Verwendung der von Python empfangenen Variablen angezeigt.
Darüber hinaus unterscheidet sich der Link von der App.route von Python und kann mit / sample
aufgerufen werden.
Diese Beschreibung ist nah an app.route, aber locker. Es spielt keine Rolle, ob am Ende kein /
steht.
Es verweist jedoch nicht direkt auf sample.html.
Umgekehrt können Sie bei der Rückkehr von "/ templates / sample / sample.html" nach "/ templates / index.html" nur mit "/" zurückkehren.
Schließlich scheinen wir HTML5 zu machen. Ich werde mein Bestes geben…
(˙-˙). oO (So sieht es aus wie die Cordova, die in der Entwicklung von iOS-Plattformen verwendet wird ...)
Recommended Posts