[TUTORIAL] Flask I: Basic

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.

Als je geen kennis hebt van Python en HTML5 kun je het beste niet verder gaan en eerst de documentatie en handleidingen van Python en HTML5 lezen

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:

kolf 1

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:

carpetas

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.

schema

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:

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:

gebruiken

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.

table4

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:

table5

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.

Stap III: Maak de database aan

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Faustino zei

    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?

    1.    Ivan Molina Rebolledo zei

      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)

  2.   Ivan Molina Rebolledo zei

    Het artikel is niet af !! Wie durfde het te plaatsen? D:

  3.   Guille zei

    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.

  4.   erm3nda zei

    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.

  5.   lijn zei

    Hopelijk komen er meer, heel goed gedaan