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ä.
Ennen kuin tarkastellaan Flask-kehystä, meidän on ensin asennettava pullomoduuli
pip install flask
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
Käyttötapa on myös hyvin yksinkertainen. Ensimmäinen on lisätä a-i
Parametrit ja URL-osoite, moduuli ladataan tästä osoitteesta seuraavasti
pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
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
Vaihdon jälkeen pääset läpipip config list
Tarkista, onko muutos onnistunut, se näytetään seuraavasti
(.venv) ❯❯ pip config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
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)
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.
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ä.
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
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!"
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>'
。
Näytä-toiminto on saapuvia pyyntöjä käsittelevä toiminto, joka on reitityksessä määritetty toiminto.
def index():
return "Hello, World!"
Yllä oleva toiminto on ns. katselutoiminto. Sitä käytetään saapuvien pyyntöjen käsittelyyn ja vastausten palauttamiseen.
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.
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)
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.py
Voit käynnistää ohjelman alla olevan kuvan mukaisesti.
Avaamme selaimen ja kirjoitamme sisäänhttp://127.0.0.1:5000
Voit nähdä Hello, World!, kuten alla näkyy
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.