ട്യൂട്ടോറിയൽ #5: ഫ്ലാസ്ക് ഡിസൈൻ പാറ്റേണുകളും വെബ് ആപ്ലിക്കേഷനുകൾക്കായുള്ള മികച്ച സമ്പ്രദായങ്ങളും
ട്യൂട്ടോറിയൽ #6: ഉദാഹരണത്തോടുകൂടിയ ഫ്ലാസ്ക് എപിഐ ട്യൂട്ടോറിയൽ
ഈ ആമുഖ പൈത്തൺ ഫ്ലാസ്ക് ട്യൂട്ടോറിയൽ എന്താണ് ഫ്ലാസ്ക്, പൈത്തണിന്റെ ഇൻസ്റ്റാളേഷൻ, വിർച്വലെൻവ്, ഫ്ലാസ്ക് ഹലോ വേൾഡ് ഉദാഹരണം എന്നിവ കോഡ് ഉദാഹരണങ്ങൾ, ഡീബഗ്ഗിംഗ്, ടെസ്റ്റിംഗ് എന്നിവയെക്കുറിച്ചുള്ള ഒരു വിഭാഗത്തോട് വിശദീകരിക്കുന്നു:
വെബ്സൈറ്റ് വികസനം ഒരു വൈദഗ്ധ്യത്തേക്കാൾ ഒരു കലയാണ്. ഒരു യഥാർത്ഥ വിജയമാകാൻ ആവശ്യമായത് സൃഷ്ടിക്കുന്നതിന് സ്ഥിരോത്സാഹം, ധൈര്യം, സമർപ്പണം എന്നിവയ്ക്കൊപ്പം ഇതിന് ക്ഷമയും ഉത്സാഹവും ആവശ്യമാണ്. ഈ ദിവസങ്ങളിൽ, പഠിതാക്കൾക്ക് എത്രയും വേഗം വേഗത കൈവരിക്കേണ്ടത് അത്യന്താപേക്ഷിതമാണ്.
പൈത്തൺ 3 ഉപയോഗിച്ച് ലളിതവും സങ്കീർണ്ണവുമായ വെബ് പ്രോഗ്രാമിംഗ് വേഗത്തിലാക്കാനും നടപ്പിലാക്കാനും വിദ്യാർത്ഥികൾക്കായി ഞങ്ങൾ ഈ പൈത്തൺ ഫ്ലാസ്ക് ട്യൂട്ടോറിയൽ സൃഷ്ടിച്ചു. .
ഈ പൈത്തൺ ഫ്ലാസ്ക് ട്യൂട്ടോറിയൽ ഒരു ഫ്ലാസ്ക് തുടക്കക്കാരൻ ട്യൂട്ടോറിയൽ പോലെയാണ്, അത് കവർ ചെയ്യും Python, Virtualenv, മറ്റ് അവശ്യ പാക്കേജുകൾ എന്നിവയുടെ ഇൻസ്റ്റാളേഷൻ. ട്യൂട്ടോറിയലുകളുടെ ഈ ശ്രേണിയിൽ, ആവശ്യമായ മറ്റ് ഫ്ലാസ്ക് പ്ലഗിനുകൾക്കൊപ്പം ഞങ്ങൾ ഫ്ലാസ്കും ഇൻസ്റ്റാൾ ചെയ്യും. Git പ്രവർത്തനങ്ങൾ ഉപയോഗിച്ച് കോഡ് ഡീബഗ്ഗിംഗ്, ടെസ്റ്റിംഗ്, തുടർച്ചയായ സംയോജനം എന്നിവയെക്കുറിച്ചുള്ള ഒരു വിഭാഗവും ഞങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
ഈ ഫ്ലാസ്ക് സീരീസിലെ ട്യൂട്ടോറിയലുകളുടെ ലിസ്റ്റ്
ട്യൂട്ടോറിയൽ #1: പൈത്തൺ ഫ്ലാസ്ക് ട്യൂട്ടോറിയൽ – തുടക്കക്കാർക്കുള്ള ഫ്ലാസ്കിന്റെ ആമുഖം
ട്യൂട്ടോറിയൽ #2: ഫ്ലാസ്ക് ടെംപ്ലേറ്റ്, ഫോം, കാണുക, ഉദാഹരണങ്ങൾക്കൊപ്പം റീഡയറക്ട് ചെയ്യുക
ട്യൂട്ടോറിയൽ #3: ഫ്ലാസ്ക് ഡാറ്റാബേസ് കൈകാര്യം ചെയ്യൽ – ഒരു ഡാറ്റാബേസിനൊപ്പം ഫ്ലാസ്ക് എങ്ങനെ ഉപയോഗിക്കാം
ട്യൂട്ടോറിയൽ #4: ഫ്ലാസ്ക് ആപ്പും ഫ്ലാസ്ക് പ്രോജക്റ്റ് ലേഔട്ടും ബ്ലൂപ്രിന്റ് &മുൻവ്യവസ്ഥകളിൽ ഘട്ടങ്ങൾ സൂചിപ്പിച്ചിരിക്കുന്നു.
ഘട്ടം 1: പൈത്തൺ ഇൻസ്റ്റാൾ ചെയ്യുക
നിങ്ങൾ പൈത്തൺ 3 ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കുക. ഇല്ലെങ്കിൽ, ഇവിടെ നിന്ന് പൈത്തൺ 3 ഡൗൺലോഡ് ചെയ്ത് നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അനുസരിച്ച് ഇൻസ്റ്റാൾ ചെയ്യുക.
ഘട്ടം 2: ഒരു പൈത്തൺ വെർച്വൽ എൻവയോൺമെന്റ് സൃഷ്ടിക്കുക
ഉപയോഗിച്ച് ഒരു വെർച്വൽ എൻവയോൺമെന്റ് സൃഷ്ടിക്കുക താഴെ കമാൻഡ്.
python3 -m venv venv
പൈത്തൺ വെർച്വൽ എൻവയോൺമെന്റ് സജീവമാക്കുന്നതിന് താഴെയുള്ള കമാൻഡ് ഉപയോഗിക്കുക.
source venv/bin/activate
വെർച്വൽ എൻവയോൺമെന്റ് സജീവമാക്കുന്നതിനും നിർജ്ജീവമാക്കുന്നതിനുമുള്ള ഒരു ഉദാഹരണം ഞങ്ങൾ ചുവടെ നൽകിയിരിക്കുന്നു.
ഈ ട്യൂട്ടോറിയലിലെ തുടർന്നുള്ള എല്ലാ കമാൻഡുകളും സജീവമാക്കിയ വെർച്വൽ എൻവയോൺമെന്റിൽ പ്രവർത്തിക്കണം. വീൽ പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക, അതുവഴി നമുക്ക് വെർച്വൽ എൻവയോൺമെന്റിനുള്ളിൽ ചക്രങ്ങൾ നിർമ്മിക്കാൻ കഴിയും.
pip install wheel
ഘട്ടം 3: ഫ്ലാസ്ക് ഡൗൺലോഡ് ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യുക
നമുക്ക് ഫ്ലാസ്ക് ഡൗൺലോഡ് ഘട്ടങ്ങൾ നടത്തേണ്ടതുണ്ട്. താഴെപ്പറയുന്ന ഘട്ടങ്ങൾ ഉപയോഗിച്ച് Flask ഇൻസ്റ്റാൾ ചെയ്യുക.
ഇപ്പോൾ Flask ഇൻസ്റ്റാൾ ചെയ്യുക.
pip install flask
ഞങ്ങളിൽ ചിലർ ഏറ്റവും പുതിയ സോഴ്സ് കോഡ് മാറ്റങ്ങൾക്കൊപ്പം പ്രവർത്തിക്കാൻ ഇഷ്ടപ്പെടുന്നു. Flask-ന്റെ ഉറവിടങ്ങളിൽ ഏറ്റവും പുതിയ മാറ്റങ്ങളോടെ ഇൻസ്റ്റാൾ ചെയ്യാൻ നമുക്ക് താഴെ നൽകിയിരിക്കുന്ന കമാൻഡ് ഉപയോഗിക്കാം.
ഒരു താൽക്കാലിക ഡയറക്ടറി ഉണ്ടാക്കുക.
mkdir tmp
ഇപ്പോൾ Github ശേഖരണത്തിൽ നിന്ന് Flask ഇൻസ്റ്റാൾ ചെയ്യുക. ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിക്കുന്നതിന് നിങ്ങൾ ഇന്റർനെറ്റുമായി ബന്ധിപ്പിച്ചിരിക്കേണ്ടതുണ്ട്.
pip3 install -e [email protected]:pallets/flask.git#egg=flask
വിജയകരമായ ഇൻസ്റ്റാളേഷൻ പരിശോധിക്കുന്നതിന് കൺസോൾ ഔട്ട്പുട്ടുകൾ നോക്കുക. ഇപ്പോൾ നമുക്ക് Flask കമാൻഡുകൾ ആക്സസ് ചെയ്യാനാകുമോയെന്ന് പരിശോധിക്കുക.
flask --help
ഒരു ഫ്ലാസ്കിന്റെ അഭാവത്തെക്കുറിച്ചുള്ള ചില ഒഴിവാക്കലുകൾ നിങ്ങൾ കണ്ടേക്കാം.അപേക്ഷ. എന്നിരുന്നാലും, ഞങ്ങൾ ഒരു ഫ്ലാസ്ക് ആപ്പും സൃഷ്ടിച്ചിട്ടില്ലാത്തതിനാൽ അവ അവഗണിക്കുക. Werkzeug വെബ് ഫ്രെയിംവർക്കിലെയും Jinja ടെംപ്ലേറ്റിംഗ് എഞ്ചിനിലെയും റാപ്പറായ Flask-ന്റെ ഒരു ഉദാഹരണമാണ് ഞങ്ങളുടെ ആപ്പ്.
Werkzeug
Werkzeug ഒരു WSGI ടൂൾകിറ്റാണ്. പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയ വെബ് ആപ്ലിക്കേഷനുകളിലേക്ക് വെബ് അഭ്യർത്ഥനകൾ കൈമാറുന്നതിനുള്ള വെബ് സെർവറുകൾക്കുള്ള ഒരു കോളിംഗ് കൺവെൻഷൻ മാത്രമാണ് WSGI.
ജിഞ്ജ
ടെംപ്ലേറ്റിംഗ് ഒരു വെബ് ഡെവലപ്പർമാരുടെ അവശ്യ കഴിവുകൾ. പൈത്തണിനായി പൂർണ്ണമായും ഫീച്ചർ ചെയ്തതും ജനപ്രിയവുമായ ടെംപ്ലേറ്റിംഗ് എഞ്ചിനാണ് ജിഞ്ച. ഇത് തികച്ചും ആവിഷ്കൃതമായ ഒരു ഭാഷയാണ് കൂടാതെ ടെംപ്ലേറ്റ് രചയിതാക്കൾക്ക് ശക്തമായ ഒരു കൂട്ടം ടൂളുകൾ നൽകുന്നു.
ഘട്ടം 4: MongoDB ഇൻസ്റ്റാൾ ചെയ്യുക
MongDB ഇൻസ്റ്റാൾ ചെയ്യാൻ താഴെപ്പറയുന്ന ഘട്ടങ്ങൾ പാലിക്കുക. ഒരു ഡെബിയൻ അധിഷ്ഠിത ലിനക്സിൽ ഇത് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഘട്ടങ്ങൾ ഞങ്ങൾ വിവരിച്ചിട്ടുണ്ട്. നിങ്ങൾ മറ്റൊരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ, ലിങ്ക് ആക്സസ് ചെയ്ത് ഉദ്ദേശിച്ച ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അനുസരിച്ച് ഇൻസ്റ്റാൾ ചെയ്യുക.
MangoDB പബ്ലിക് GPG കീ ഇമ്പോർട്ടുചെയ്യുന്നതിന് gnupg ഇൻസ്റ്റാൾ ചെയ്യുക.
sudo apt-get install gnupg
ഇപ്പോൾ താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് കീ ഇമ്പോർട്ടുചെയ്യുക.
wget -qO - //www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
നിങ്ങളുടെ Linux വിതരണത്തിനനുസരിച്ച് ഉറവിട ലിസ്റ്റ് ഫയൽ സൃഷ്ടിക്കുക. ഡെബിയൻ അനുസരിച്ച് ഞങ്ങൾ ഉറവിടങ്ങളുടെ ലിസ്റ്റ് ചേർത്തു.
echo "deb //repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
അപ്ഡേറ്റ് കമാൻഡ് റൺ ചെയ്യുക
sudo apt-get update
ഇപ്പോൾ താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് MongoDB ഇൻസ്റ്റാൾ ചെയ്യുക.
sudo apt-get install -y mongodb-org
ഇൻസ്റ്റാളേഷൻ വിജയിച്ചുകഴിഞ്ഞാൽ, താഴെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് MongoDB ആരംഭിക്കുക.
sudo systemctl start mongod
കമാൻഡ് ഉപയോഗിച്ച് MongoDB-യുടെ നില പരിശോധിക്കുക.താഴെ.
sudo systemctl status mongod
ഇപ്പോൾ താഴെ കാണിച്ചിരിക്കുന്ന കമാൻഡ് നൽകി സിസ്റ്റം റീബൂട്ടിൽ മോംഗോഡ് സ്വയമേവ ആരംഭിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.
sudo systemctl enable mongod
നിങ്ങൾക്ക് കഴിയുമോയെന്ന് ഇപ്പോൾ പരിശോധിക്കുക. മോംഗോ ക്ലയന്റ് ഉപയോഗിച്ച് MongoDB സെർവറിലേക്ക് കണക്റ്റുചെയ്യുക.
mongo
മോംഗോ ഷെല്ലിൽ, സഹായം ഉപയോഗിച്ച് ശ്രമിക്കുക, dbs കമാൻഡുകൾ കാണിക്കുക.
ഒരു ഫ്ലാസ്ക് ആപ്പ് സൃഷ്ടിക്കുക
Flask-appbuilder, mongoengine എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യാൻ താഴെയുള്ള കമാൻഡ് ഉപയോഗിക്കുക.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
ചുവടെയുള്ള കോഡ് സ്നിപ്പെറ്റിൽ കമന്റുകളായി കാണിച്ചിരിക്കുന്ന മൂല്യങ്ങളുള്ള ഒരു സ്കെലിറ്റൺ ആപ്പ് സൃഷ്ടിക്കുക.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
ചുവടെ നൽകിയിരിക്കുന്നതിന് സമാനമായ ഔട്ട്പുട്ട് ഞങ്ങൾ കാണും.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) [SQLAlchemy]: MongoEngine Downloaded the skeleton app, good coding!
പ്രോജക്റ്റിന്റെയും ആപ്പിന്റെയും ലേഔട്ട് നോക്കൂ. ട്രീ കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഞങ്ങൾ താഴെ കാണിച്ചിരിക്കുന്നു.
നമുക്ക് Flask config ഫയൽ നോക്കാം. അവസാന കമാൻഡിന്റെ ഫലമായി ജനറേറ്റ് ചെയ്ത ഒരു ഡിഫോൾട്ട് കോൺഫിഗറാണ് ഇത്. താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ സൈബർഗ് തീം കമന്റ് ചെയ്യൂ
FlaskTutorialApp-ൽ നിങ്ങളുടെ ആദ്യ പ്രോഗ്രാം സൃഷ്ടിക്കുന്നതിന്, ആപ്പ് ഡയറക്ടറിക്ക് കീഴിൽ ഫയൽ views.py തുറന്ന് ഇനിപ്പറയുന്ന കോഡ് ചേർക്കുക. ഫയലിൽ നൽകിയിരിക്കുന്ന ഇറക്കുമതി പ്രസ്താവനകൾക്കായി നോക്കുക. നിലവിൽ ഇല്ലെങ്കിൽ ഈ പ്രസ്താവനകൾ ചേർക്കുക.
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): """ This first view of the tutorial """ route_base = "/hello" @expose("/") def hello(self): return "Hello, World! from Software Testing Help" # at the end of the file appbuilder.add_view_no_menu(HelloWorld())
മുകളിലുള്ള സോഴ്സ് കോഡ് ചേർത്തതിന് ശേഷം ഫയൽ സംരക്ഷിക്കുക. പ്രോജക്റ്റിന്റെ റൂട്ട് ഡയറക്ടറിയിലേക്ക് പോയി ഫ്ലാസ്കിന്റെ ഡെവലപ്മെന്റ് സെർവർ പ്രവർത്തിപ്പിക്കുന്നതിന് താഴെയുള്ള കമാൻഡ് ഉപയോഗിക്കുക.
flask run
ഇപ്പോൾ ഔട്ട്പുട്ട് കാണുന്നതിന് //localhost:5000/hello/ എന്നതിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.ബ്രൗസർ.
ഡീബഗ്ഗിംഗ്
നിലവിൽ, ഡെവലപ്മെന്റ് സെർവർ ഡീബഗ് മോഡിൽ പ്രവർത്തിക്കുന്നില്ല. ഡീബഗ്ഗിംഗ് മോഡ് കൂടാതെ, ഫ്ലാസ്ക് ആപ്ലിക്കേഷന്റെ സോഴ്സ് കോഡിലെ പിശകുകൾ കണ്ടെത്തുന്നത് ബുദ്ധിമുട്ടാണ്.
ഫ്ലാസ്കിലെ ഡീബഗ് മോഡ് ഇനിപ്പറയുന്നവയിൽ ഫലം നൽകുന്നു:
- ഡീബഗ് മോഡ് ഓട്ടോമാറ്റിക് റീലോഡർ സജീവമാക്കുന്നു. ആപ്ലിക്കേഷന്റെ സോഴ്സ് കോഡിൽ മാറ്റങ്ങൾ വരുത്തിയ ശേഷം ഡെവലപ്മെന്റ് സെർവർ പുനരാരംഭിക്കേണ്ടതില്ല എന്നാണ് ഇതിനർത്ഥം.
- ഡീബഗ് മോഡ് പൈത്തൺ ഡീബഗ്ഗർ സജീവമാക്കുന്നു. ഒഴിവാക്കൽ സമയത്ത് നമുക്ക് വേരിയബിളുകളുടെ മൂല്യങ്ങൾ പരിശോധിക്കാം.
- ഡീബഗ് മോഡ് ഫ്ലാസ്ക് ആപ്ലിക്കേഷൻ ഡീബഗ്ഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നു. ഡീബഗ്ഗിംഗ് സെഷനുകളിൽ നമുക്ക് വിവിധ വേരിയബിളുകളുടെ മൂല്യങ്ങൾ പരിശോധിക്കാം.
ഡെവലപ്മെന്റ് സെർവർ ഇതിനകം പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ അത് നിർത്തുക. നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ CTRL + C അല്ലെങ്കിൽ കീബോർഡ് തടസ്സം ഉപയോഗിക്കാം.
ഡീബഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുന്നതിനും ഡെവലപ്മെന്റ് സെർവർ താൽക്കാലികമായി പ്രവർത്തിപ്പിക്കുന്നതിനും ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കുക.
FLASK_ENV=development flask run
തിരയുക. ഡീബഗ്ഗർ PIN-നുള്ള കൺസോൾ, അതിൽ ഒരു കുറിപ്പ് ഉണ്ടാക്കുക.
ഇനി നമുക്ക് മുകളിൽ എഴുതിയിരിക്കുന്ന HelloWorld കാഴ്ച കോഡ് സ്നിപ്പെറ്റിന്റെ ഇനിപ്പറയുന്ന വരികൾ ഉപയോഗിച്ച് മാറ്റാം. ഞങ്ങൾ ഒരു ഇഷ്ടാനുസൃത ഒഴിവാക്കൽ അവതരിപ്പിച്ചുവെന്നത് ശ്രദ്ധിക്കുക.
@expose("/") def hello(self): raise Exception("A custom exception to learn DEBUG Mode") return "Hello, World! from Software Testing Help"
//localhost:5000/hello/ എന്നതിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക, ആപ്ലിക്കേഷൻ ഒരു അപവാദം ഉയർത്തിയതായി നിങ്ങൾ കാണും. ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ ബ്രൗസർ സ്റ്റാക്ക് ട്രെയ്സ് പ്രദർശിപ്പിക്കുന്നു.
![](/wp-content/uploads/guides/iae5sr2a76-3.png)
കൂടാതെ, ഡെവലപ്മെന്റ് സെർവർ പ്രവർത്തിക്കുന്ന കൺസോൾ നോക്കുക. ഈ സമയം നിങ്ങൾ അത് കണ്ടെത്തുംviews.py-യിലെ മാറ്റങ്ങൾ സ്വയമേവ കണ്ടെത്തുകയും ഡീബഗ് സെർവർ സ്വയം പുനരാരംഭിക്കുകയും ചെയ്യുന്നു. ഇപ്പോൾ നമുക്ക് ഇത് സ്വമേധയാ പുനരാരംഭിക്കേണ്ടതില്ല.
ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ കൺസോളിൽ ലൈനുകൾ ഉണ്ടായിരിക്കും. പിന്നീടുള്ള ഡീബഗ് പിൻ നമുക്ക് രേഖപ്പെടുത്തേണ്ടതുണ്ട്.
* Detected change in '/work/sth/flaskTutorialApp/app/views.py', reloading 2020-06-02 14:59:49,354:INFO:werkzeug: * Detected change in '/work/sth/flaskTutorialApp/app/views.py', reloading * Restarting with stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Restarting with stat * Debugger is active! * Debugger PIN: 150-849-897
ഇപ്പോൾ ബ്രൗസറിലെ സ്റ്റാക്ക് ട്രേസ് പരിശോധിച്ച് അവസാന വരിയിലേക്ക് പോകുക. അതിന്റെ കാഴ്ച വിപുലീകരിക്കാൻ അതിൽ ക്ലിക്കുചെയ്ത് ഇന്ററാക്റ്റീവ് മോഡിൽ ഷെൽ തുറക്കുന്നതിന് CLI ഐക്കണിൽ ക്ലിക്കുചെയ്യുക.
![](/wp-content/uploads/guides/iae5sr2a76-4.png)
നിങ്ങൾ അത് തുറന്ന് കഴിഞ്ഞാൽ, ബ്രൗസർ ഡീബഗ് PIN-നായി ഒരു നിർദ്ദേശം കാണിക്കുന്നത് നിങ്ങൾ കാണും. ഡീബഗ് പിൻ നൽകി OK ക്ലിക്ക് ചെയ്യുക.
![](/wp-content/uploads/guides/iae5sr2a76-5.png)
ഡീബഗ് പിൻ നൽകിയ ശേഷം മുന്നോട്ട് പോയാൽ, നമുക്ക് ഇന്ററാക്റ്റീവ് ഷെൽ ആക്സസ് ചെയ്യാൻ കഴിയും.
ഞങ്ങൾ ബ്രൗസറിൽ നിന്ന് ഷെൽ ആക്സസ് ചെയ്യുന്നു ഒഴിവാക്കലിന്റെ കാരണം കണ്ടെത്തുന്നതിനും പിശക് മികച്ച രീതിയിൽ കൈകാര്യം ചെയ്യുന്നതിനും വേരിയബിളുകളുടെ മൂല്യങ്ങൾ പരിശോധിക്കാൻ കഴിയും. ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്ന ഉദാഹരണങ്ങളിൽ ഒന്ന് നോക്കുക.
![](/wp-content/uploads/guides/iae5sr2a76-6.png)
ഇപ്പോൾ view.py-യിലെ കോഡ് താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ മാറ്റുക. ഉയർത്തിയ ഒഴിവാക്കലുള്ള ലൈനിലാണ് ഞങ്ങൾ അഭിപ്രായമിട്ടതെന്ന കാര്യം ശ്രദ്ധിക്കുക.
@expose("/") def hello(self): # raise Exception("A custom exception to learn DEBUG Mode") return "Hello, World! from Software Testing Help"
ഫ്ലാസ്ക് ആപ്ലിക്കേഷൻ പരിശോധിക്കുന്നു
ഇനി നമ്മൾ വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന ഫ്ലാസ്ക് ആപ്ലിക്കേഷന്റെ ആദ്യ ടെസ്റ്റ് എഴുതാം. ആദ്യം, PyTest ഇൻസ്റ്റാൾ ചെയ്യുക. PyTest ഒരു പരീക്ഷണ ചട്ടക്കൂടാണ്. മികച്ച കോഡ് എഴുതാൻ ഇത് ഞങ്ങളെ സഹായിക്കുന്നു.
കൂടാതെ, ഞങ്ങളുടെ ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുമ്പോൾ യൂണിറ്റ് ടെസ്റ്റുകൾ എഴുതാൻ കഴിയുന്നതിനാൽ, TDD സമീപനം പിന്തുടരാൻ സാധിക്കും. TDD എന്നാൽ ടെസ്റ്റ്-ഡ്രൈവൻ ഡെവലപ്മെന്റ് എന്നാണ്. ഞങ്ങളുടെ തുടർന്നുള്ള ട്യൂട്ടോറിയലുകളിൽഈ സീരീസ്, ഞങ്ങൾ എല്ലായ്പ്പോഴും ആദ്യം ടെസ്റ്റുകൾ എഴുതുകയും ഞങ്ങളുടെ കാഴ്ചകളോ മോഡലുകളോ വികസിപ്പിക്കുകയും ചെയ്യും.
PyTest ഇൻസ്റ്റാൾ ചെയ്യുക
pip install pytest
ഇനി ആപ്പ് ഡയറക്ടറിയിലും അതിനകത്തും ടെസ്റ്റുകൾ എന്ന പേരിൽ ഒരു ഡയറക്ടറി സൃഷ്ടിക്കുക. test_hello.py എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കുക. നമ്മുടെ കാഴ്ച പരിശോധിക്കാൻ നമുക്ക് ആദ്യത്തെ യൂണിറ്റ് ടെസ്റ്റ് എഴുതാം.
ഇനിപ്പറയുന്ന കോഡ് സ്നിപ്പെറ്റ് പകർത്തി test_hello.py-യിൽ ഒട്ടിക്കുക.
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): """ A pytest fixture for test client """ appbuilder.app.config["TESTING"] = True with appbuilder.app.test_client() as client: yield client def test_hello(client): """ A test method to test view hello """ resp = client.get("/hello", follow_redirects=True) assert 200 == resp.status_code
റൺ ചെയ്യാൻ താഴെയുള്ള pytest കമാൻഡ് ഉപയോഗിക്കുക. പരിശോധനകൾ. PyTest സ്വയമേവ ടെസ്റ്റുകൾ ശേഖരിക്കുകയും സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിൽ ഫലങ്ങൾ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു.
![](/wp-content/uploads/guides/iae5sr2a76-7.png)
ഒരു GitHub വർക്ക്ഫ്ലോ സൃഷ്ടിക്കുക
ഞങ്ങളുടെ സാമ്പിൾ ആപ്ലിക്കേഷനായി ഒരു CI/CD വർക്ക്ഫ്ലോ സൃഷ്ടിക്കാൻ ഞങ്ങൾ Git ആക്ഷനുകൾ ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ പ്രോജക്റ്റിനായി ചുവടെ സൂചിപ്പിച്ച ഘട്ടങ്ങൾ പാലിക്കുക.
ഘട്ടം 1: GitHub-ലെ ശേഖരണ പേജിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക. Git Actions-ൽ ക്ലിക്ക് ചെയ്യുക.
![](/wp-content/uploads/guides/iae5sr2a76-8.png)
ഘട്ടം 2: പേജിൽ താഴേക്ക് സ്ക്രോൾ ചെയ്ത് പൈത്തൺ പാക്കേജിനായി നിലവിലുള്ള വർക്ക്ഫ്ലോ ടെംപ്ലേറ്റ് കണ്ടെത്തുക.
![](/wp-content/uploads/guides/iae5sr2a76-9.png)
ഘട്ടം 3: പൈത്തൺ പാക്കേജ് വർക്ക്ഫ്ലോ സജ്ജീകരിക്കുക.
![](/wp-content/uploads/guides/iae5sr2a76-10.png)
ഘട്ടം 4: python-package.yml വർക്ക്ഫ്ലോ കോൺഫിഗറേഷൻ തുറന്നാൽ, നൽകിയിരിക്കുന്ന yaml അധികമായി അടിസ്ഥാനമാക്കി അത് അപ്ഡേറ്റ് ചെയ്യുക ടാഗ് മൂല്യങ്ങൾ.
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.7, 3.8] mongodb-version: [4.2] steps: - name: Start MongoDB uses: supercharge/[email protected] with: mongodb-version: ${{ matrix.mongodb-version }} # other values
ഞങ്ങളുടെ ഫ്ലാസ്ക് ആപ്ലിക്കേഷൻ ഏറ്റവും പുതിയ ഉബുണ്ടു ലിനക്സ് വിതരണത്തിൽ പരിശോധിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. OS-ന് പുറമേ, പൈത്തൺ 3.7, പൈത്തൺ 3.8 എന്നിവ ഉപയോഗിച്ച് മാത്രമേ ഞങ്ങളുടെ ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാവൂ.
ഘട്ടം 5: പുതുക്കിയ മൂല്യങ്ങൾക്കൊപ്പം python-package.yml സമർപ്പിക്കുക.
![](/wp-content/uploads/guides/iae5sr2a76-11.png)
ഘട്ടം 6: മുമ്പത്തെ പേജിലെ പ്രതിബദ്ധത ഞങ്ങളെ GitActions-ലേക്ക് കൊണ്ടുപോകുന്നുജോലികൾ.
![](/wp-content/uploads/guides/iae5sr2a76-12.png)
ഘട്ടം 7: [ഓപ്ഷണൽ]
സാമ്പിൾ ട്യൂട്ടോറിയൽ ആപ്പിനായുള്ള Github Jobs പേജിൽ, ഞങ്ങൾക്ക് ഒരു ബാഡ്ജും സ്ഥലവും സൃഷ്ടിക്കാം ബിൽഡ് സ്റ്റാറ്റസ് പ്രദർശിപ്പിക്കുന്നതിനായി അത് README.md ഫയലിൽ.
ഇപ്പോൾ, മാസ്റ്റർ ബ്രാഞ്ചിൽ മാറ്റങ്ങൾ വരുത്തുമ്പോൾ, python-package.yml-ൽ എഴുതിയ Git Workflow പിന്തുടരുകയും Git പ്രവർത്തനങ്ങളിൽ പ്രവർത്തിക്കുകയും ചെയ്യും. .
ഉപസംഹാരം
ഈ ട്യൂട്ടോറിയലിൽ, Flask – A Python-അധിഷ്ഠിത വെബ് ഡെവലപ്മെന്റ് ഫ്രെയിംവർക്ക് ഉപയോഗിച്ച് വികസിപ്പിച്ച ഒരു വെബ് ആപ്ലിക്കേഷനായി CI/CD വർക്ക്ഫ്ലോ സജ്ജീകരിക്കുന്നതിനുള്ള മുൻവ്യവസ്ഥകൾ മുതൽ എല്ലാ അടിസ്ഥാന ആശയങ്ങളും ഞങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
പൈത്തൺ ഇൻസ്റ്റാൾ ചെയ്യുക, ഡൗൺലോഡ് ചെയ്യുക & Python ഉപയോഗിച്ച് വെബ് ഡെവലപ്മെന്റ് ആരംഭിക്കുന്നതിന് Flask ഇൻസ്റ്റാൾ ചെയ്യുക, Flask-Appbuilder-മായി പ്രവർത്തിക്കുക, PyTest ഉപയോഗിച്ച് ടെസ്റ്റിംഗ് നടത്തുക തുടങ്ങിയവ. വെബ് ഡെവലപ്മെന്റ് കമ്മ്യൂണിറ്റി സാധാരണയായി ഫ്ലാസ്കിനെ ജാംഗോ എന്ന മറ്റൊരു ജനപ്രിയ പൈത്തൺ വെബ് ഡെവലപ്മെന്റ് ഫ്രെയിംവർക്കുമായി താരതമ്യം ചെയ്യുന്നു.
ഞങ്ങൾ ഈ വ്യത്യാസങ്ങൾ വിശദീകരിക്കുകയും ഈ ശ്രേണിയിലെ ട്യൂട്ടോറിയലുകളിലൊന്നിൽ ഈ ചട്ടക്കൂടുകൾ താരതമ്യം ചെയ്യുകയും ചെയ്യും.