Omdat ik wat vrije tijd heb om uit te rusten (van het doen van projecten of voor een tijdje), heb ik besloten dit artikel (of misschien artikelen) te schrijven over webontwikkeling met Flask (Python). Ik ga niet stoppen om uit te leggen wat Flask is, dat leggen ze al uit in Hypertext en ze leggen het veel beter uit dan ik.
Installatie
Op dit punt (ongeacht het besturingssysteem) zouden we Python al moeten hebben geïnstalleerd, dus we hoeven alleen Flask te installeren
$ sudo pip install Flask
Makkelijk toch?
Hallo Wereld
In Flask kunnen we de klassieke "Hello World" op de volgende manier creëren:
We slaan onze code gewoon op als hello.py en voeren deze uit
$ python hello.py
* Running on http://localhost:5000/
Nu draait onze applicatie op http: // localhost: 5000 /
Heel gemakkelijk toch?
Een simpele blog
Stap 0: de mappen aanmaken
Voordat we beginnen, hebben we de volgende mappen nodig voor onze applicatie:
De projectmap kan elke naam hebben die u maar wilt, het is gewoon de map waarin u uw toepassing zult hebben. In de statische map staan de bestanden die via HTTP beschikbaar zijn voor gebruikers. Dat is de plaats waar u uw css- en js-bestanden moet plaatsen. De map met sjablonen is waar de sjablonen (de html5) van uw applicatie zullen zijn.
Stap I: Databaseschema
We zullen eerst het databaseschema maken. Voor deze toepassing hebben we alleen een database nodig. Typ gewoon de volgende code in een bestand met de naam "schema.sql" in de map Project.
Dit schema bestaat uit een enkele tabel met de naam inputs en elke rij van deze tabel heeft een ID, een titel en een tekst. Deze ID is een automatisch oplopend geheel getal en een primaire sleutel, de andere twee zijn strings.
Stap II: Initiële applicatiecode
Nu we het schema hebben, kunnen we de applicatiemodule maken. Laten we het flaskr.py noemen, dat in de projectmap moet staan. Om te beginnen gaan we de nodige import toevoegen, evenals de configuratiesectie. Bij kleine applicaties kunnen we de configuratie direct achterlaten in de module die we gaan doen. Het beste en meest correcte zou echter zijn om een .ini- of .py-configuratiebestand te maken, het te laden en de waarden van daaruit te importeren.
In het bestand flaskr.py:
De secret_key is vereist om sessies veilig te houden. Kies deze sleutel verstandig. De foutopsporingsvlag schakelt de interactieve foutopsporing in of uit. Laat foutopsporing nooit aan staan op een productiesysteem, aangezien het gebruikers in staat stelt code op uw server uit te voeren!
Nu kunnen we onze applicatie maken en beginnen met de configuratie in flaskr.py:
We gaan ook een methode toevoegen om eenvoudig verbinding te maken met de opgegeven database. Hiermee kan op verzoek een verbinding worden geopend. Dit komt later van pas.
Ten slotte voegen we een regel toe aan het einde van het bestand dat de server zal uitvoeren als we het bestand als een onafhankelijke applicatie willen uitvoeren:
Daarmee zou je de applicatie zonder problemen moeten kunnen starten. Nu gebruiken we het volgende commando:
$ python flaskr.py
U ziet een bericht dat de server is gestart, samen met de URL.
Als we de URL openen, geeft dit ons een 404-fout, aangezien we nog geen website hebben. Maar daar zullen we ons later op concentreren. Eerst moeten we de database laten werken.
Hallo, bedankt voor het artikel. Wat vind je ervan om alle routes samen in Django-stijl te hebben? Welke voordelen heeft het om de route voor elke functie in de stijl van Express, Flask of Bottle te hebben?
Ik heb Django niet geprobeerd (Dood me als je wilt), maar ik zou kunnen zeggen dat het voor het gemak is van wie dan ook programmeert. (Verbeter mij als ik het fout heb)
Het artikel is niet af !! Wie durfde het te plaatsen? D:
Spelfouten zoals "conciste" escape, dezelfde auteur in zijn commentaar zegt "Corriganme", het zou leuk zijn om een spellingscontrole te installeren en naar de rode strepen te kijken die onder sommige woorden verschijnen. Het is ook waar dat hij het nog niet heeft geschreven en dus nog niet heeft beoordeeld.
Ik denk dat ik niet de enige ben die eruitziet als een klootzak op zoek naar de volgende knop ... om de pagina "of zoiets" om te slaan.
Hopelijk komen er meer, heel goed gedaan