Ekubeni ndinexesha elikhululekile lokuphumla (ukusuka ekwenzeni iiprojekthi okanye ukuhlambalaza), ndiye ndagqiba ekubeni ndibhale eli nqaku (okanye mhlawumbi amanqaku) malunga nophuhliso lwewebhu kunye neFlask (Python). Andiyi kumisa kwaye ndichaze ukuba yintoni iFlask, sele beyichaza loo nto kwi-Hipertextual kwaye bayichaza ngcono kunokuba ndinako.
Ukufakwa
Okwangoku (nokuba yeyiphi na inkqubo yokusebenza) kufuneka sele sinePython efakiweyo, ke konke ekufuneka sikwenzile kukufaka iFlask.
$ sudo pip install Flask
Kulula ngoku?
Molo Lizwe
KwiFlask sinokwenza i-classic "Molo World" ngale ndlela ilandelayo:
Sigcina nje ikhowudi yethu njenge-hello.py kwaye siyiqhube
$ python hello.py
* Running on http://localhost:5000/
Ngoku isicelo sethu siyasebenza http://localhost:5000/
Kulula kakhulu, akunjalo?
Iblogi elula
Inyathelo 0: Ukwenza iifolda
Ngaphambi kokuba siqale, sifuna ezi folda zilandelayo kwisicelo sethu:
Isiqulathi seefayili seProjekthi sinokuba nalo naliphi na igama olifunayo, sisilawulo nje apho uzakuba nesicelo sakho. Kwifolda engatshintshiyo iifayile ziya kufumaneka kubasebenzisi ngeHTTP. Leyo yindawo apho kufuneka ubeke iifayile zakho ze-css kunye ne-js. Ifolda yeetemplates kulapho iitemplates (html5) zesicelo sakho ziya kuba khona.
Inyathelo I: Database Schema
Okokuqala siya kudala i-schema yedatha. Kwesi sicelo siya kufuna kuphela isiseko sedatha enye. Faka nje ikhowudi elandelayo kwifayile ebizwa ngokuba "schema.sql" kwifolda yeProjekthi.
Esi sicwangciso siqulathe itheyibhile enye ebizwa ngokuba ngamangenelo kwaye umqolo ngamnye wale theyibhile une-ID, isihloko kunye nokubhaliweyo. Esi sazisi yi-autoincrementing integer kunye neqhosha eliphambili, ezinye ezimbini zizitya.
Inyathelo II: Ikhowudi yesicelo sokuqala
Ngoku ekubeni sinesicwangciso sinokuyila imodyuli yesicelo. Masiyibize i-flaskr.py, ekufuneka ibe ngaphakathi kwifolda yeProjekthi. Ukuqala, siya kongeza izinto eziyimfuneko ngaphandle, kunye necandelo loqwalaselo. Kwizicelo ezincinci sinokushiya uqwalaselo ngqo kwimodyuli esiza kuyenza. Nangona kunjalo, eyona nto ilungileyo neyona ichanekileyo inokuba kukudala ifayile yoqwalaselo .ini okanye .py, yilayishe kwaye ungenise amaxabiso ukusuka apho.
Kwifayile yeflaskr.py:
I-secret_key iyafuneka ukugcina iiseshoni zikhuselekile. Khetha esi sitshixo ngobulumko. Iflegi yolungiso lweempazamo yenza ukuba isebenze okanye ivale isilungisi esisebenzayo. Ungaze ushiye imo yedebug inikwe amandla kwinkqubo yemveliso, njengoko iya kuvumela abasebenzisi ukuba benze ikhowudi kwiseva yakho!
Ngoku singenza isicelo sethu kwaye siqale ngolungelelwaniso kwi-flaskr.py:
Siza kongeza indlela yokudibanisa ngokulula kwisiseko sedatha esichaziweyo. Oku kungasetyenziselwa ukuvula uqhagamshelwano ngesicelo. Oku kuya kuba luncedo kakhulu kamva.
Ekugqibeleni songeza umgca ekupheleni kwefayile eya kwenziwa ngumncedisi ukuba sifuna ukuqhuba ifayile njengesicelo esizimeleyo:
Ngaloo nto kufuneka ukwazi ukuzisa usetyenziso ngaphandle kweengxaki. Ngoku sisebenzisa lo myalelo ulandelayo:
$ python flaskr.py
Uya kubona umyalezo obonisa ukuba umncedisi uqalile kunye ne-URL.
Ukuba sifikelela kwi-URL iya kusinika impazamo ye-404, kuba asinayo iwebhusayithi okwangoku. Kodwa siza kugxila kuloo nto kamva. Okokuqala kufuneka sifumane i-database kwaye isebenze.
Molo, enkosi ngenqaku. Ucinga ntoni ngokuba nazo zonke iindlela kunye nesimbo se-Django? Zeziphi iingenelo ezikhoyo ekubeni nendlela yomsebenzi ngamnye kwisitayile se-Express, Flask okanye iBhotile?
Andizange ndizame i-Django (Ndibulale ukuba uyafuna) kodwa ndingatsho ukuba yenzelwe ukunceda umdwelisi wenkqubo. (Ndilungise xa ndiphazama)
Inqaku alikagqibi!! Ngubani onesibindi sokuyithumela? D:
Iimpazamo zopelo ezifana nokuphunyuka kwe-"conciste", umbhali ofanayo kwinkcazo yakhe uthi "Ndilungise", kuya kuba kuhle ukuba kufakwe umkhangeli wopelo kwaye ujonge imigca ebomvu evela phantsi kwamanye amagama. Kukwayinyani ukuba akakagqibi ukuyibhala kwaye ke ngoko ukuyiphonononga.
Ndicinga ukuba andiyena ndedwa oye washiywa ekhangeleka njengesidenge efuna iqhosha elilandelayo ... ukuvula iphepha "okanye into."
Ndiyathemba ukuba bangeza, umsebenzi omhle kakhulu