Ich habe versucht, ein leichtes Python-Webframework namens Bottle auf einem lokalen Server und einem Lollipop-Server auszuführen (Lollipop-Plan, SSH kann nicht verwendet werden ...). Wenn es auf einem Lollipop-Server ausgeführt wird, muss es an die Umgebung angepasst werden.
Geben Sie auf der Titelseite den "Namen" ein, wählen Sie "Lieblingsnudeln" aus und zeigen Sie die von der GET-Methode übergebenen Parameter auf der Ergebnisausgabeseite an.
Diesmal lautet der Projektname `` `Flasche_Studie```.
bottle_study
- views/
| title.tpl # /Vorlagendatei aufgerufen von
| show.tpl # /Vorlagendatei von show aufgerufen
bottle.py #Flaschenkörper
index.py #Dispatcher
Holen Sie sich Flasche.py
Erstellen Sie index.py
Erstellen Sie views / title.tpl
Erstellen Sie views / show.tpl
Führen Sie den integrierten Server aus
bottle.py
Die Flasche selbst, Flasche.py```, wird von
wget``` direkt unter dem Projektverzeichnis erhalten.
bottle.Wie man py bekommt
$ mkdir bottle_study
$ pwd
(Kommt auf deine Umgebung an)/bottle_study
$ wget http://bottlepy.org/bottle.py
$ ls
bottle.py
index.py
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
from bottle import route, run, template, request
# localhost:8080
@route('/')
def title():
# views/title.Rufen Sie tpl an
return template('title')
# localhost:8080/show
@route('/show', method='GET')
def men():
#Holen Sie sich GET-Parameter(username, men)
username = request.query.username
men = request.query.men
#Controller-Teil=======================================
if (username == ""):
username = "namenlose Person"
if men in {"ramen"}:
menname = "Ramen"
elif men in {"soba"}:
menname = "Soba"
elif men in {"udon"}:
menname = "Udon"
else:
menname = "Error!!"
#Abschnitt anzeigen=============================================
# views/show.Rufen Sie tpl an
return template('show', name=username, men=menname)
#Führen Sie den integrierten Server aus
run(host='localhost', port=8080, debug=True, reloader=True)
views/title.tpl
<!DOCTYPE html>
<html lang=ja>
<head>
<meta charset="UTF-8">
<title>Titelblatt</title>
</head>
<body>
<h1>Titelblatt</h1>
<form method="GET" action="/show">
<p>Name ist? ::<br>
<input type="text" name="username"></p>
<p>Was sind deine Lieblingsnudeln?</p>
<form>
<select name="men">
<option value="ramen">Ramen</option>
<option value="soba">Soba</option>
<option value="udon">Udon</option>
</select>
<input type="submit" value="Senden">
</form>
</body>
</html>
views/show.tpl
<!DOCTYPE html>
<html lang=ja>
<head>
<meta charset="UTF-8">
<title>Ergebnisausgabeseite</title>
</head>
<body>
<h1>Ergebnisausgabeseite</h1>
<p>Herzlich willkommen{{name}}San! !!</br>
Nächstes Mal zusammen{{men}}Lass uns essen gehen!<p>
<a href="/">return to HOME</a>
</p>
</body>
</html>
Sie können es auf dem integrierten Server ausführen, indem Sie python index.py ausführen. Geben Sie `` `localhost: 8080``` in Ihren Browser ein, um die Titelseite zu öffnen.
$ pwd
(Kommt auf deine Umgebung an)/bottle_study
$ ls
bottle.py index.py view/
$ python index.py
Als nächstes führen wir es mit dem Lollipop-Plan des Lollipop-Servers aus. Wie ist das?
Es gibt also viele Einschränkungen, aber ich habe versucht zu sehen, ob eine Flasche mit nur einer Datei funktionieren würde.
Die Dateistruktur des Lollipop-Servers. Dieses Mal lautet die Stammseite des Versionsbeispiels für den Mietserver "http: // (Lollipop-Serverseite) /bottle_study/index.cgi", daher habe ich "Flasche_Studie" im Projektverzeichnis unter dem Dokumentstamm platziert.
Dokument Root
| .htaccess #Diesmal hinzugefügt
- bottle_study
- views/
| title.tpl #Keine Änderung
| show.tpl #Keine Änderung(Kehren Sie zum HOME-Pfad zurück/ → /bottle_Studie)
| bottle.py #Keine Änderung
| index.cgi # index.py → index.CGI, Fix erforderlich
1.index.cgi(index.py→) Die folgenden 4 Punkte wurden behoben.
index.cgi(Nur der Unterschied zur lokalen Version)
#!/usr/bin/python2.7
…
run(server='cgi')
2..htaccess
Beim Übergang von der Titelseite zur Ergebnisanzeigeseite lautet die URL der erwarteten Ergebnisanzeigeseite
http://(Lollipop Server Seite)/bottle_study/index.cgi/show?username=yamjack&men=ramen
Wenn dies jedoch so bleibt, wie es ist
http://(Lollipop Server Seite)/show?username=yamjack&men=ramen
Und es scheint zur Seite des Dokumentstamms zurückzukehren, und die Seite kann nicht gefunden werden. Leiten Sie dies mit dem Dokumentstamm `` `.htaccess``` um, um zur erwarteten Seite zu gelangen.
.htaccess
RewriteEngine on
RewriteRule ^show(.*)$ http://(Lollipop Server Seite)/bottle_study/index.cgi/show$1
Vergessen Sie nicht, einen Zeilenumbruch nur in die letzte Zeile des .htaccess einzufügen und die Berechtigung für Lollipop-Server auf 704 zu setzen.
Jetzt verhält es sich genauso wie vor Ort. Die, die ich mache, sind im Moment für das persönliche Lernen, also werde ich sie in dieser Umgebung ausprobieren, bis ich etwas machen kann, das ich anderen zeigen möchte!