Teknologian jakaminen

[Flask Notes] Täydellinen pulloohjelma

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Kuten aiemmin mainittiin, Flask on kevyt web-kehityskehys, koska sitä voidaan käyttää vain muutamalla koodirivillä.

Asenna pullo

Ennen kuin tarkastellaan Flask-kehystä, meidän on ensin asennettava pullomoduuli

pip install flask
  • 1

Voit asentaa sen, että jos kohtaat latausvirheen moduulia asentaessasi, se johtuu useimmiten siitä, että Python käyttää oletuksena virallista latausmoduulin osoitetta, ja tämä osoite on joskus epävakaa, kun sitä käytetään täällä on suositeltavaa käyttää lataamiseen Tsinghuan latauslähdettä, joka voi olla paljon nopeampi eikä aiheuta virheitä tai aikakatkaisuja.

https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

Käyttötapa on myös hyvin yksinkertainen. Ensimmäinen on lisätä a-iParametrit ja URL-osoite, moduuli ladataan tästä osoitteesta seuraavasti

pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

Yllä olevaa menetelmää voidaan käyttää vain väliaikaisiin latauksiin, eikä latauslähdettä voi muuttaa pysyvästi. Tässä on toinen tapa muuttaa oletuslatauslähdettä.

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

Vaihdon jälkeen pääset läpipip config listTarkista, onko muutos onnistunut, se näytetään seuraavasti

(.venv) ❯❯ pip config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
  • 1
  • 2

Minimaalinen ja täydellinen Flask-ohjelma

Kun Flask on asennettu onnistuneesti, voimme tarkastella esimerkkiä. Tämä on täydellinen kolviohjelma ja pieni yksikkö, joka tarvitaan pulloa varten. Tallennamme seuraavan koodin py-tiedostoon, kuten my_flask.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "Hello, World!"

if __name__ == '__main__':
    app.run(debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Kuten yllä olevasta koodista näkyy, vain 10 koodiriviä voi saada pulloa toimimaan, joten pullo on kevyt verkkokehys.Vaikka yllä oleva koodi on lyhyt, se on kattava ja sisältää kaiken, mitä tarvitaan Flaskin suorittamiseen. Sovellusinstanssi, reititys ja näkymä ovat yksinkertaisin Flask-ohjelma.

Sovellukset

Sovellusinstanssi on itse asiassa Flaskin sovellusobjekti. Tässä mainittu objekti ei ole tyttöystäväsi, vaan verkkosovellusydin, joka voi sisältää pyyntöjen käsittelyn, reittijakelun ja näkymän funktiokutsumisen, eli tuon lauseen.app = Flask(__name__), jos tarkastelemme Flask-esimerkin lähdekoodia, voimme huomata, että se sisältää paljon sisältöä, kuten käynnissä olevia käynnistysparametreja, reitityssääntöjä, määritelmiä pyyntöjen lähettämisestä ja vastaanottamisesta jne., joita ei käsitellä. yksityiskohtaisesti täällä.

reititys

Reititystä käytetään URL-osoitteiden ja funktioiden välisen vastaavuuden käsittelemiseen.Tässä meidän on puhuttava verkon koko toimintaperiaatteesta ymmärtämisen helpottamiseksi. Katso ensin alla olevaa kuvaa
Lisää kuvan kuvaus tähän
Web-selain aloittaa pyynnön, verkkopalvelin vastaanottaa pyynnön ja lähettää pyynnön Flask-sovellukselle. Kun Flask-sovellus on vastaanottanut pyydetyn URL-osoitteen, se löytää vastaavan käsittelytoiminnon. Näin koko reititys toimii.
Yllä olevaa vastaava ohjelma on se toiminto

@app.route('/')
def index():
    return "Hello, World!"
  • 1
  • 2
  • 3

Jos opit Pythonin suhteellisen syvästi, pystyt tuntemaan yllä olevan koodin@app.route('/')on koristelu, jota käytetään näkymätoimintojen rekisteröimiseen, ja suluissa oleva sisältö on polku, jota käytetään.'/'Se tarkoittaa juuripolkuahttp://127.0.0.1:5000;Jos muutetaan‘/login/’Se tarkoittaa kirjautumispolun käyttöähttp://127.0.0.1:5000/login/; jos kirjoitetaan nimellä'/user/<name>'Siitä tulee dynaaminen muuttujareititys, eli<name>Se muuttuu dynaamisesti lähetettävän sisällön mukaan, esimhttp://127.0.0.1:5000/user/jay, selaimen on liitettävä tämä jay reitille.
Tämä on yksinkertaistettu Flaskissa käytön helpottamiseksi. Itse asiassa perinteinen reittien määrittelytapa ei käytä koristeita, joten en mene tässä yksityiskohtiin.
Tässä on mainittava toinen seikka reitityksestä, eli Flaskin dynaaminen muuttujareititys tukee vain merkkijono-, int-, float- ja polkutyyppejä, kuten edellä mainittuja.<name> Merkkijonotyyppiä käytetään oletuksena. Se voi vastata mitä tahansa merkkijonoa paitsi vinoviivaa (/).Muille tyypeille, jos sinun on tunnistettava ne, sinun on kirjoitettava tyyppi, esim'/path/<path:my_path>'

katselutoiminto

Näytä-toiminto on saapuvia pyyntöjä käsittelevä toiminto, joka on reitityksessä määritetty toiminto.

def index():
    return "Hello, World!"
  • 1
  • 2

Yllä oleva toiminto on ns. katselutoiminto. Sitä käytetään saapuvien pyyntöjen käsittelyyn ja vastausten palauttamiseen.

vastaus

Palautusvastaus on mainittu yllä, mutta mikä on vastaus? Vastaus on näkymäfunktiossa palautettu arvo, joka voi olla merkkijono tai monimutkainen muoto. Voit myös käyttää Flaskin tarjoamaa render_template()-funktiota. Samalla vastaus voi myös käyttää suoraan redirect()-funktio ohjaamaan reitin uudelleen.

aloittaa

Flask-ohjelman viisi sisäistä osaa on tiivistetty yllä, mutta Flaskilla on edelleen yksi sisääntulokohta vähemmän, joka on tämän koodin kaksi viimeistä riviä.

if __name__ == '__main__':
    app.run(debug=True)
  • 1
  • 2

ensimmäinen riviif __name__ == '__main__':, jokainen pythonia opiskellut tietää, että tämä on pythonin syöttötapa, eli nykyinen tiedosto tai moduuli ajetaan suoraan pääohjelmana.
toinen linjaapp.run(debug=True)On kutsuttava edellä luotu Flask-objekti ja suoritettava run()-toiminto, jotta Flask toimii, ja debug välitetään parametrina run()-funktiolle, jotta Flask tietää, että se on käynnistetty virheenkorjaustilassa lataa automaattisesti uudelleenlataajan ja debuggerin.
Sitten siirrymme komentoriville, kirjoita my_flask.py-tiedoston hakemisto ja kirjoita komentorivillepython my_flask.pyVoit käynnistää ohjelman alla olevan kuvan mukaisesti.
Lisää kuvan kuvaus tähän
Avaamme selaimen ja kirjoitamme sisäänhttp://127.0.0.1:5000Voit nähdä Hello, World!, kuten alla näkyy
Lisää kuvan kuvaus tähän

Tässä vaiheessa olemme saaneet selville ne käsitteet, jotka meidän täydellisellä Flask-ohjelmallamme pitäisi olla. Nämä ovat tietysti alkeellisinta sisältöä malleina ja tietokantoina, käyttöliittymätekniikka jne., kirjoittaja kirjoittaa myös oppiessaan ja käyttää myös Feynman-oppimismenetelmää muistaakseni sen paremmin, jos kirjoitusprosessissa on puutteita tai virheitä osoita se.