Dies ist der Artikel des Adventskalenders zum 9. Tag auf dem Code-Server 2019. Auch dieses Mal werde ich erklären, was Code-Server ist.
(1) Was ist ein Code-Server? (2) Erstellen Sie mit Docker Ihre eigene Code-Server-Umgebung (3) Versuchen Sie, das VSCode-Plugin zu verwenden (4) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (1) (5) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (2) (6) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (3) (7) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (4) (8) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (5) (9) Bereiten wir eine MVC-Umgebung einschließlich DB usw. vor. (6) (10) Bonus
(NEXT->) Online-Umgebungsversion 1. Tag Arbeitsumgebung verbessern
(..) Zum lokalen Erstellen einschließlich der Umgebung wie z. B. DB (..) Wie kann ich es online stellen? (..) Wie arbeite ich mit der neuesten trendigen Umgebung wie K8S? (..) Ich möchte Code-Server ändern, um es besser zu machen
Weiter vom letzten Mal werden wir APIs mit flask hinzufügen.
Lassen Sie uns den zuvor erstellten Kolben ändern
main.py
from flask import Flask, request as fl_request, Request
from typing import Dict
import json
import logging
app = Flask(__name__)
logger = logging.getLogger("XXX")
logging.basicConfig(level=logging.DEBUG)
@app.route("/users")
def get_user_from_id():
request:Request = fl_request
input:Dict = request.args
logger.debug("> input: {}".format(input))
user:Dict = {
"name":"one",
"email":"[email protected]",
"id":1}
return json.dumps(user)
app.run("0.0.0.0",port=8080)
Wenn eine ID als "http: //0.0.0.0/users? Id = 1" übergeben wird, werden die dieser ID entsprechenden Benutzerinformationen zurückgegeben.
Versuchen Sie, die Flasche zu starten.
$ python main.py
* Serving Flask app "main" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Öffnen Sie ein neues Terminal und drücken Sie den Befehl curl
$ curl 127.0.0.1:8080/users?id=1
{"name": "one", "email": "[email protected]", "id": 1}
Hoppla, Benutzerinformationen wurden angegeben.
Dieses Mal verwende ich das Dataset-Paket, um db von Python aus zu betreiben. https://github.com/pudo/dataset
$ pip install dataset
Da mysql verwendet wird, fügen Sie das mysqlclient-Paket hinzu.
$ pip install mysqlclient
main.py
from flask import Flask, request as fl_request, Request
from typing import Dict
import json
import dataset
import logging
app = Flask(__name__)
logger = logging.getLogger("XXX")
logging.basicConfig(level=logging.DEBUG)
db:dataset.Database = dataset.connect('mysql://root:passwd@mysqld/app_db')
@app.route("/users")
def get_user_from_id():
request:Request = fl_request
input:Dict = request.args
logger.debug("> input: {}".format(input))
users_table:dataset.Table = db.get_table("users")
user:Dict = users_table.find_one(id=int(input["id"]))
return json.dumps(user)
app.run("0.0.0.0", port=8080)
Sie können mit dataset.connect
eine Verbindung zur Datenbank herstellen und mit users_table.find_one
Benutzerinformationen abrufen.
Versuchen Sie, die Flasche zu starten.
$ python main.py
* Serving Flask app "main" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Öffnen Sie ein neues Terminal und drücken Sie den Befehl curl
$ curl 127.0.0.1:8080/users?id=1
{"name": "one", "email": "[email protected]", "id": 1}
Hoppla, Benutzerinformationen wurden angegeben.
PS
Lassen Sie uns anforderungs.txt erstellen !!
Es ist üblich, Python-Pakete in einer Datei zu speichern. https://pip.readthedocs.io/en/1.1/requirements.html
pip install -r requirements.txt
-r Befehlszeilenoptionen hinzufügen und ausführen.
requirements.txt
Flask==1.1.1
dataset==1.1.2
mysqlclient==1.4.6
Sie können auch eine Liste abhängiger Pakete in eine Datei mit "pip freeze> require_lock.txt" schreiben.
Versuchen Sie in Flask, einen Benutzer hinzuzufügen. Außerdem plane ich, die lokale Umgebungsversion in ungefähr zwei Fällen fertigzustellen und die Online-Umgebungsversion und die Magic Remodeling-Version einzugeben.
PS Quelle https://github.com/kyorohiro/advent-2019-code-server
Recommended Posts