Python Web Content mit Lolipop billigen Server gemacht

image.png

Stellen Sie den Befehl pip zur Verfügung.

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py --user

$ pwd /home/users/0/sub.jp-hrd


Bearbeiten Sie .bash_profile $vi .bash_profile

PATH=$PATH:/home/users/0/sub.jp-hrd/.local/bin export PATH

$ source .bash_prof

Mit dieser Arbeit können Sie Pip usw. verwenden.

pip install bottle --user

####Bei der Installation mit pip--Wenn Sie die Benutzeroption hinzufügen, wird sie im Benutzerverzeichnis installiert.

$ pip freeze DEPRECATION: Python 3.4 support has been deprecated. pip 19.1 will be the last one supporting it. Please upgrade your Python as Python 3.4 won't be maintained after March 2019 (cf PEP 429). Beaker==1.10.0 bottle==0.12.13 bottle-auth==0.3.3 bottle-beaker==0.1.3 bottle-mongo==0.3.0 bottle-sqlite==0.1.3 certifi==2019.9.11

###Python auf einem billigen Server von Lolipop/Mod zu arbeiten Flasche_Da wsgi nicht verwendet werden kann, ist ein gewisser Einfallsreichtum erforderlich.
##Liste der Ordnerpfade

W3 │ .htaccess └─app │ .htaccess │ app.py │ routes.py │
├─static │ ├─content │ │ bootstrap-grid.css │ │ bootstrap-grid.css.map │ │ bootstrap-grid.min.css │ │ bootstrap-grid.min.css.map │ │ bootstrap-reboot.css │ │ bootstrap-reboot.css.map │ │ bootstrap-reboot.min.css │ │ bootstrap-reboot.min.css.map │ │ bootstrap.css │ │ bootstrap.css.map │ │ bootstrap.min.css │ │ bootstrap.min.css.map │ │ jumbotron.css │ │ site.css
│ ├─fonts │ │ glyphicons-halflings-regular.eot │ │ glyphicons-halflings-regular.svg │ │ glyphicons-halflings-regular.ttf │ │ glyphicons-halflings-regular.woff
│ └─scripts │ bootstrap.bundle.js │ bootstrap.bundle.js.map │ bootstrap.bundle.min.js │ bootstrap.bundle.min.js.map │ bootstrap.js │ bootstrap.js.map │ bootstrap.min.js │ bootstrap.min.js.map │ jquery-1.10.2.intellisense.js │ jquery-1.10.2.js │ jquery-1.10.2.min.js │ jquery-1.10.2.min.map │ jquery.validate-vsdoc.js │ jquery.validate.js │ jquery.validate.min.js │ jquery.validate.unobtrusive.js │ jquery.validate.unobtrusive.min.js │ modernizr-2.6.2.js │ respond.js │ respond.min.js │ _references.js
├─views │ about.tpl │ contact.tpl │ home.tpl │ index.tpl │ layout.tpl

Angenommen, das w3-Verzeichnis ist das Stammverzeichnis des Webs, wurde es direkt darunter platziert..Der Zugriff ist wie folgt.


#### **` .htaccess`**
```htaccess

RewriteEngine on
RewriteRule ^(.*).py$ https://w3.hrd.co.jp/app/$1 
RewriteRule ^(.*)$ https://w3.hrd.co.jp/app/app.py/$1
DirectoryIndex app.py

überhttps://w3.hrd.co.jpBitte wechseln Sie zu Ihrer Domain. Diese Notation schreibt die URL des Sweb-Servers neu. RewriteRule ^(.*).py$ https://w3.hrd.co.jp/app/$1 https://w3.hrd.co.Wenn jp angefordert wirdhttps://w3.hrd.co.jp/app/app.pyUmschreiben an. app.py geht in die Webserver-Ereignisschleife, also App.Sie müssen auf Ansichten usw. des Verzeichnisses direkt unter py zugreifen. Es wird unten realisiert.

RewriteRule ^(.*)$ https://w3.hrd.co.jp/app/app.py/$1


app.py definiert nur Routen.


#### **`app.py`**
```py

!/usr/local/bin/python3.4
 -*- coding: utf-8 -*-
from bottle import *
import routes
run(server='cgi')
!/usr/local/bin/python3.4
 -*- coding: utf-8 -*-
from bottle import *
from datetime import datetime
import requests
 js = [('Kaffee', 'Kaffee'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4 '), (' 5 ',' 5 '), (' 6 ',' 6 '), (' 7 ',' 7 '), (' 8 ',' 8 '), (' 9 ',' 9 '), (' 10 ',' 10 '), (' 11 ',' 11 '), (' 12 ',' 12 '), (' TV ',' TV '), (' Tasse ',' CH + '), (' cdwn ',' CH- '), (' vup ',' Vol + '), (' vdwn ',' Vol- '), (' vcut ',' Schweigen '), (' bs ', 'bs'), ('cs', 'cs'), ('bs1', 'bs1'), ('bs2', 'bs2'), ('bs3', 'bs3'), ('bs4', 'bs4'), ('bs5', 'bs5'), ('bs6', 'bs6'), ('bs7', 'bs7'), ('bs8', 'bs8'), ('bs9', 'bs9'), ('bs10', 'bs10'), ('bs11', 'bs11'), ('bs12', 'bs12'), ('inUp', 'inUp'), ('inDwn', 'inDwn'), ('ent', 'ent'), ('an', 'alle Lichter'), ('aus', 'aus'), ('fav', 'Favorit'), ('klein' ',' Sicherheitslicht '), (' lup ',' hell '), (' ldwn ',' dunkel '), (' ac ',' kühlung '), (' acoff ',' stop '), (' heeting ',' heizung '), (' Joshitsu ',' entfeuchten '), (' ron ',' radio '), (' r1 ',' R1 '), (' r2 ',' R2 '), (' r3 ',' R3 '), (' r4 ',' R4 '), (' r5 ',' R5 '), (' r6 ',' R6 '), (' r7 ',' R7 '), (' r8 ',' R8 '), (' r9 ',' R9 '), (' r0 ',' R0 '), (' R + ',' + '), (' R - ',' - '), ( 'r>', '>')]
@route('/')
@view('index')
def home():
    return dict(
        year=datetime.now().year,app="/app"
    )
@route('/home')
@view('home')
def home1():
    return dict(
        year=datetime.now().year,js=js,app="/app"
    )
@route('/contact')
@view('contact')
def contact():
    return dict(
        title='Contact',
        message='Your contact page.',
        year=datetime.now().year,app="/app"
    )
@route('/about')
@view('about')
def about():
    return dict(
        title='About',
        message='Your application description page.',
        year=datetime.now().year,app="/app"
    )
def mq(idx):
    url='https://api.beebotte.com/v1/data/write/HomeControl/cmd?token={mq token}'
    r=requests.post(url,{'data':idx})
@route('/click/<idx>')
def click(idx):
    mq(idx)
    return idx

Die Ansichtsvorlage ist

lyout.tpl


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
	<meta http-equiv="Cache-Control" content="no-cache">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ title }} - My Bottle Application</title>
    <link rel="stylesheet" type="text/css" href="{{app}}/static/content/bootstrap.min.css" />
	<link href="{{app}}/static/content/jumbotron.css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="{{app}}/static/content/site.css" />
    <script src="{{app}}/static/scripts/modernizr-2.6.2.js"></script>

    <script src="{{app}}/static/scripts/jquery-1.10.2.js"></script>
    <script src="{{app}}/static/scripts/bootstrap.js"></script>
    <script src="{{app}}/static/scripts/respond.js"></script>
</head>

<body>
    <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
      <a class="navbar-brand" href="#">Boostrap4</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExampleDefault">
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="/">Home <span class="sr-only">(current)</span></a>
          </li>
         <li class="nav-item">
            <a class="nav-link" href="/home">HomeControl</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="/about">About</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="/contact">Content</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
            <div class="dropdown-menu" aria-labelledby="dropdown01">
              <a class="dropdown-item" href="#">Action</a>
              <a class="dropdown-item" href="#">Another action</a>
              <a class="dropdown-item" href="#">Something else here</a>
            </div>
          </li>
        </ul>
        <form class="form-inline my-2 my-lg-0">
          <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form>
      </div>
    </nav>


    <div class="container body-content">
        {{!base}}
        <hr />
        <footer>
            <p>&copy; {{ year }} - My Bottle Application</p>
        </footer>
    </div>
</body>
</html>

{{app}}Wird verwendet, um das Verzeichnis anzupassen. css,Verwenden Sie die App-Variable, um auf den statischen Ordner mit Javascript zuzugreifen.Pass von py. Die folgende App='/app'

@route('/')
@view('index')
def home():
    return dict(
        year=datetime.now().year,app="/app"
    )

Bereitstellen mit FTP usw. und App.Wenn Sie das Ausführungsrecht an py übergeben

$ chmod 700 app.py
$ ls -al
-rwx------ 1 sub.jp-hrd LolipopUser    134 2019-11-18 14:08 app.py
-

image.png

###Der Quellcode ist https://github.com/yutakahirata/lolipop2019.git image.png

Recommended Posts

Python Web Content mit Lolipop billigen Server gemacht
Starten Sie mit Docker einen einfachen Python-Webserver
Starten Sie einen Webserver mit Python und Flask
Lokaler Server mit Python
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
Vervollständigen Sie YAML-Inhalte automatisch mit Python
Web Scraping mit Python + JupyterLab
Ich habe einen Blackjack mit Python gemacht!
Web-API mit Python + Falcon
Einfacher HTTP-Server mit Python
Webanwendung mit Python + Flask ② ③
Ich habe mit Python einen Blackjack gemacht.
Web Scraping Anfänger mit Python
Othello gemacht mit Python (wie GUI)
Ich habe Wordcloud mit Python gemacht.
Optimieren Sie die Websuche mit Python
Webanwendung mit Python + Flask ④
Erste Schritte mit Python-Webanwendungen
Web Scraping mit Python Erster Schritt
Ich habe versucht, WebScraping mit Python.
Überwachen Sie Python-Webanwendungen mit Prometheus
Numer0n mit Elementen, die mit Python erstellt wurden
Holen Sie sich Web-Screen-Capture mit Python
Ich habe mit Python eine Lotterie gemacht.
Othello-Spieleentwicklung mit Python
Ich habe mit Python einen Daemon erstellt
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
[FastAPI] Erste Schritte mit FastAPI, einem ASGI-Webframework von Python
Ich habe einen Pokerspielserver Chat-Holdem mit Websocket mit Python erstellt
WEB-Scraping mit Python (für persönliche Notizen)
Einfacher Slack API-Client mit Python
HTTP Split Download Typ mit Python gemacht
Webserver zum Testen des Browsers mit Mocha
Erste Schritte mit Python Web Scraping Practice
Ich habe mit Python einen Zeichenzähler erstellt
Dämonisieren Sie eine Python-Webanwendung mit Supervisor
[Persönlicher Hinweis] Scraping von Webseiten in Python3
So zeigen Sie Python-Japanisch mit Lolipop an
Laden Sie mit Python Dateien im Web herunter
Pferderennseite Web Scraping mit Python
[Python] Eine schnelle Webanwendung mit Bottle!
Erste Schritte mit Python Web Scraping Practice
Einfache Web-App mit Python + Flask + Heroku
Ich habe mit Python eine Hex-Map erstellt
Führen Sie eine Python-Webanwendung mit Docker aus
Erstellen Sie ein Webframework mit Python! (1)
Serverlose Gesichtserkennungs-API mit Python
Üben des Web-Scrapings mit Python und Selen
Einfaches Web-Scraping mit Python und Ruby
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Erstellen Sie ein Webframework mit Python! (2)
Ich habe mit Python einen einfachen Blackjack gemacht
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe mit Python einen Neuronensimulator erstellt
Othello App (iOS App) erstellt mit Python (Kivy)
Stellen Sie Docker in Windows Home und führen Sie einen einfachen Webserver mit Python aus
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer