UPPSETNING FLASK

Flask er API viðbót í Python. Flask vefforritun fer fram í vefþróunarumhverfi þar sem efni/texti (content), skipulag (layout) og útlit (design) eru aðskildir hlutir.

Vefvinnslan fer fram á staðbundnu svæði (local) og Python - Flask keyrir staðbundin vefþjón (localhost) til að skoða vefinn sem er í þróun. Vefurinn sem Python - Flask býr til er síðan færður yfir í internet hýsingu, t.d. Heroku.com eða Digital Ocean vefþjónustu sem styður Python vefforritun.

Flæðiskipulag (liquid layout)

  • Efni vefsins er sótt í gagnagrunna eða json skrár
  • Skipulag (layout) er sett í HTML grunnsíður og eru í sér möppu sem nefnist “templates” Hægt er að setja saman aðskildar einingar t.d. titilsíðu (header), efnisyfirlit (navigation), innihald (content), hliðarefni (aside) og undirmálsefni (footer). Til þess notum við Jinja sniðmát.
  • Stílsíður, myndir og önnur “binary” skjöl fara í möppu sem nefnist “static”.
Vefurinn er svo forritaður í Python Flask. Leiðakerfið (HTTP route) og samskipti við notanda (user) og gagnagrunna.

Flask vefforritun hentar vel fyrir

  • Spjallborð (blog)
  • Viðburði
  • Sérverslanir
  • Minniháttar upplýsingavefi ofl.

Uppsetning vefþróunarsvæðis

  1. Python sýndarvinnusvæði (virtual environment - env)
  2. Vinnurammi (framework), Flask, Jinja2 og fleiri viðbætur eru sóttar í PiPY og
    sett í vinnuramman
  3. Uppsetning Python - Flask vefforrits (web application - app)
  4. Öll verkefni áfangans eru unnin í þessum vinnuramma.

Python verður að keyra á línuskipanaforriti (CLI) tölvunnar, Command Prompt - windows eða Terminal – Mac/Linux

Python Windows

  • Python – innsetning með Python to PATH

Mynd 1. Hakið við [v] Add Python 3.x to PATH

Mynd 2. Endurræsið tölvuna og ræsið skipanaforitið (CLI/Terminal). Skrifið „python - -version" ef innsetning hefur tekist þá birtir CLI útgáfuna sem sem þú notar.

Ef CLI segist ekki þekkja python skipunina verður þú að taka Python forritið út af tölvunni (uninstall) og setja nýju útgáfuna inn aftur og muna að haka við „PATH".

Eða fara niður kanínuholuna og bæta Python við Windows algjörlega á eigin ábyrgð.

PyCharm forritið er með innbyggt kerfi sem hægt er að nota til að búa til sýndarvinnusvæði (env), það má nota það.

Uppsetning vinnusvæðis (virtual environment -env)

  1. Veljið stað fyrir vinnusvæðið cd ~/desktop (valkvæmt)
    • Búið til möppu til að halda utanum vinnusvæðið mkdir VEF2VF (valkvæmt)
    • Vísið í möppuna cd VEF2VF
    • Skrifið síðan í CLI/terminal
  (macOS/Linux)
    sudo apt-get install python3-venv
  (eða)
    python3 -m venv env
  
  (Windows)
    python -m venv env

Ef innsetning tókst þá er afrit af python forritinu í env möppunni

  • Nú þarf að virkja vinnusvæðið, farið í cd env/scripts
  • Og skráið síðan activate

  • (env) sýnir að mappan „VEF2VF" er orðið að sýndarvinnusvæði

Visual Studio Code

  • Opnið vinnusvæðið í forritinu Visual Studio Code , (eða annan vefrita að eigin vali)
    • file > open folder > VEF2VF
  • Til að Python virki í Visual Studio Code þá þarf að setja Python stuðning í forritið. Það er gert með því að ná í viðbót (extension) á VSC viðbótamarkaðnum.

-

  1. í valslá (efst) veljið View > Command Palette.
  2. Þar er valið Python: Select Interpreter
  3. og síðan Python 3.8.1('env':venv) útgáfuna

Þá er (sýndar)vinnusvæðið tilbúið til notkunar

Python PyPi

Python Package Index (PyPi) er hugbúnaðargeymsla fyrir Python forritunarmálið. Þar eru hugbúnaðarpakkar þróaðir og samnýttir af Python samfélaginu. Sjá nánar á https://pypi.org/

Pypi forritaviðbætur geta haft áhrif á önnur forritunarverkefni. Til að koma í veg fyrir árekstra við önnur verkefni er skynsamlegt að setja upp sér vinnuumhverfi (virtual environment) sem heldur utanum vefþróunarverkefni. Þannig er hægt að koma í veg fyrir að yfirhlaða Python forritið sjálft af viðbótum. Einnig eru viðbætur í stöðugri þróun og eldri verkefni eru kannski ekki alltaf að virka með nýjum viðbótarútgáfum. PyPi er innbyggt í Python 3.x

  • náið í Flask viðbótina: pip install flask
  • og síðan með sama hætti náið í Jinja2: pip install jinja2
  • Nú er hægt að búa til marga aðskilda vefi á vinnusvæðinu sem nota ofangreindar viðbætur.

við getum skoðað hvaða viðbætur við höfum sett í env/Lib/site-packages/ þessar viðbætur tilheyra eingöngu vefþróunarsvæðinu