சென்ற கட்டுரையில் Flask-ஐ நிறுவுவது எப்படி என்று பார்த்தோம். இந்தக்கட்டுரையில் Flaskஇல் ஒரு இணைய செயலியை (Web application) உருவாக்குவது பற்றி பார்ப்போம்.
முந்தைய கட்டுரையில், இப்படி virtual environmentஐ activate செய்து வைத்து இருப்போம்.
அதை அப்படியே விட்டுவிட்டு, அந்த folderக்குள் app.py
என்று ஒரு கோப்பை உருவாக்கிக் கொள்ளுங்கள். இப்பொழுது அந்த கோப்பை உங்களுக்கு பிடித்தமான Text Editorஇல் திறந்து அதில் கீழ் கொடுக்கப்பட்டுள்ள நிரலை பதிவிடுங்கள்.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello World!"
அவ்வளவுதான். நாம் நம்முடையா முதல் Flask செயலியை உருவாக்கிவிட்டோம். என்ன நம்பவில்லையா? சரி அப்படியே திறந்து வைத்து இருக்கும் terminalக்கு சென்று கீழே கொடுக்கப்பட்டுள்ளதை செய்யவும்.
குறிப்பு: ஒரு வேலை அந்த terminal-ஐ நீங்கள் மூடி இருந்தால். புதிதாக ஒன்றைத் திறந்து அதில் உங்கள் project directoryக்கு சென்று source env/bin/activate
என்று உள்ளிட்டு நம் projectஇன் virtual environmentஐ மறுபடியும் activate செய்து வைத்துக்கொள்ளவும்.
export FLASK_APP=app
export FLASK_ENV=development
flask run
இப்பொழுது உங்கள் கணினியில் ஒரு server ஓட ஆரம்பித்து இருக்கும்
இதில் நாம் முக்கியமாக கவனிக்க வேண்டியது இதுதான்
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
இது நாம் நம்முடைய செயலி எந்த முகவரியில் இயங்குகிறது என்பதையும், இந்த serverஐ நம் வேலை முடிந்தவுடன் எப்படி நிறுத்துவது என்பதையும் சொல்கிறது. இந்த சுட்டியை சொடுக்கிப்பாருங்கள் http://127.0.0.1:5000/ உங்களுக்கு உங்கள் செயலி “Hello world!” எனத் தனது பிறந்தநாள் செய்தியை சொல்லிக்கொண்டு இருக்கும்.
இப்ப இங்க என்ன நடந்துது?
எது எதையோ அங்கும் இங்கும் செய்து இப்பொழுது Hello World! என்பதை காட்டி விட்டீர்கள், ஆனால் இதெல்லாம் எதற்கு செய்தோம், அதன் அர்த்தம் என்ன? - என்று நீங்கள் யோசிக்கக்கூடும். வாங்க பார்க்கலாம்.
from flask import Flask
இந்த வரியில் flask எனும் packageஇல் இருந்து, Flask எனும் classஐ நாம் நமது கோப்புக்கு கொண்டு வருகிறோம்.
app = Flask(__name__)
அந்த Flaskஐ வைத்து, நம் ஒரு appஐ உருவக்குகிறோம். அதற்கு பெயரிட வேண்டும். அதை நாம் வெளிப்படையாகச் சொல்லாமல் __name__
என்பதன் மூலம், அந்த கோப்பின் பெயரையே எடுத்துக்கொள்ளச் சொல்லிவிடுகிறோம்.
நீங்கள் இணையத்தில் உலாவும் பொழுது இணை முகவரிகளைப் பார்த்து இருப்பீர்கள் அவைகளில் /
பரவலாகப் பயண்படுத்தப்படும் ஒன்று. ஒரு இணையதளத்தில் பல பக்கங்கள் இருந்தால் அதை /
குறிக்கு பிறகு சேர்த்து விடுவது வழக்கம். எ.கா என்னுடையா contact பக்கத்தின் முகவரி https://arunmozhi.in/contact/
.
நம் செயலியில் இப்பொழுது இருப்பது ஒரே ஒரு பக்கம்தான்.
@app.route("/")
def home():
return "Hello World!"
இங்கு, முதல் வரியில், செயலியை எப்பொழுது எல்லாம் முகப்பு பக்கம் தேவைப்படுகிறதோ (“/”) அப்பொழுது எல்லாம் home()
எனும் பங்சனை இயக்கச்சொல்லுகிறோம். அந்த பங்சன் என்ன செய்ய வேண்டும் என்றால் Hello World! எனும் வாசகத்தை முகப்பு பக்கமாகத்தர வேண்டும் என்று சொல்லி விடுகிறோம். அவ்வளவுதான், இந்த செயலியை நாம் ஒரு சர்வரில் இணையதளமாக நிறுவினோம் என்றால், எப்பொழுது எல்லாம் ஒருவர் அந்த இணைதளத்திற்கு வருகிறாரோ அப்பொழுது எல்லாம் Hello World எனும் வாசகத்தைப் பார்ப்பார்.
அதற்காக நாம் இணையதளம் எல்லாம் நிறுவ வேண்டுமா? ஒவ்வொரும் முறையும் மாற்றங்கள் செய்தாலோ, அல்லது செயலியை உருவாக்கும் பொழுது எதேனும் பிழைகள் இருந்தாலோ எப்படி அதனை சோதித்துப் பார்ப்பது? அதற்கு Flaskஏ நமக்கு வழிமுறை செய்து தருகிறது. அதைத்தான் நாம் terminalஇல் flask run
எனும் கட்டளையின் மூலம் செய்தோம். முதலில் Flaskக்கிற்கு நமது செயலியின் பெயரை சொல்கிறோம், அதுதான்
export FLASK_APP=app
export FLASK_ENV=development
பின்பு, நாம் நமது செயலி உருவாக்க நிலையில் (developmentஇல்) உள்ளது என்பதை பதிவிடுகிறோம். இது நம் செயலியின் இயக்கத்தின் பொழுது எதேனும் பிழைகள் எழுந்தால் அதனை நமக்கு நம் இணைய உலாவியிலேயே (browser) காட்ட உதவும். இதை செய்யாவிடில், பிழைகள் terminal-ஓடு தங்கிவிடும்.
கடைசியாக flask run
என்பது நமது செயலியை ஒரு இணைதளத்தைப் போல பார்வையிட ஒரு serverஆ ஆரம்பித்துக் கொடுக்கிறது. நாமும் அது கொடுக்கும் முகவரிக்குச் சென்று பார்க்கிறோம்.
இத்துடன் இக்கட்டுரை முற்றும். என்னது இது, வெறும் இரண்டு வார்த்தைகளை காட்டி முடித்துவிட்டீர்கள்? வண்ண வண்ணமாக நான் HTML பக்கங்களை எப்படி உருவாக்குவது? அடுத்து வரும் கட்டுரைகளில் பார்ப்போம்.
உங்களுக்கு இதில் எதேனும் ஐயங்கள் இருந்தால் கீழ பதிவிடவும். நன்றி.
இலவச இணைப்பு
http://127.0.0.1:5000/who-are-you/ எனும் முகவரிக்குச் சென்றால் “I am a Python Developer” என்று வரும்படி ஒரு புது routeஐ உருவாக்குங்கள் பார்க்கலாம்.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.