प्रौद्योगिकी साझेदारी

[फ्लास्कः आरम्भकात् प्रवीणपर्यन्तं: पाठः १: फ्लास्कस्य मूलभूतपरिचयः, फ्लास्केन सह परियोजनानां शीघ्रं निर्माणं चालनं च]।

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  1. कथं अस्माभिः आद्यतः आरभ्य नूतनरूपरेखायाः आरम्भः करणीयः ?
  2. फ्लास्क इव लघुरूपरेखायाः, django इव गुरुभारस्य च ढांचायां किं भेदः?
  3. जालविकासप्रक्रियायां सामान्यदत्तांशकोशस्य ORM-सञ्चालनानां कृते ।
  4. फ्लास्कं शिक्षणस्य प्रक्रियां अनुसृत्य स्वयमेव एकं नूतनं रूपरेखां (Sanic, FastAPI) शिक्षन्तु अवगच्छन्तु च

पुरातन सामान्यतया प्रयुक्ताः ढाञ्चाः: django (3.0 इत्यस्य अनन्तरं अतुल्यकालिकस्य समर्थनं करोति), flask (2.0 इत्यस्य अनन्तरं अतुल्यकालिकस्य समर्थनं करोति), tornado (अतुल्यकालिकः), twisted (अतुल्यकालिकः)

नवीनाः सामान्यतया प्रयुक्ताः रूपरेखाः: FastAPI, sanic, django4.0 (वर्तमानं संस्करणं समकालिकतः अतुल्यकालिकं प्रति परिवर्तनस्य प्रक्रियायां वर्तते), flask2.0 (वर्तमानं संस्करणं समकालिकतः अतुल्यकालिकं प्रति परिवर्तनस्य प्रक्रियायां वर्तते)

सनिक:https://sanicframework.org/zh/guide/

FastAPI:https://fastapi.tiangolo.com/zh/पाठ्यक्रम/प्रथम-चरण/

फ्लास्क

Flask इत्यस्य जन्म २०१० तमे वर्षे अभवत् ।इदं Werkzeug toolbox इत्यस्य आधारेण Armin Ronacher इत्यनेन Python भाषायां लिखितं हल्कं जालविकासरूपरेखा अस्ति ।

Flask स्वयं कर्नेल् इत्यस्य समकक्षं भवति, अन्येषां प्रायः सर्वेषां कार्याणां विस्तारस्य आवश्यकता भवति (ईमेलविस्तारः Flask-Mail, उपयोक्तृप्रमाणीकरणं Flask-Login, database Flask-SQLAlchemy), येषां सर्वेषां तृतीयपक्षविस्तारैः सह कार्यान्वयनस्य आवश्यकता वर्तते यथा, ORM, form verification tools, file upload, identity verification इत्यादीन् योजयितुं Flask extension इत्यस्य उपयोगं कर्तुं शक्नुवन्ति । Flask पूर्वनिर्धारितदत्तांशकोशस्य उपयोगं न करोति भवान् MySQL अथवा NoSQL चिन्वतु ।

Flask इत्यस्य WSGI toolbox Werkzeug (routing module) इत्यस्य उपयोगं करोति, टेम्पलेट् इञ्जिन् च Jinja2 इत्यस्य उपयोगं करोति । Itsdangrous (token encryption module), Click (terminal command management tool), तथा च flask kernel स्वयं, एते पञ्च कोर मॉड्यूल्स् Flask framework निर्मान्ति ।

आधिकारिकजालस्थलम् : https://flask.palletsprojects.com/en/2.0.x/

आधिकारिकदस्तावेजीकरणम् : १. https://dormousehole.readthedocs.io/en/latest/index.html इति ग्रन्थः

Flask कृते सामान्यतया प्रयुक्ताः तृतीयपक्षविस्तारसङ्कुलाः:

  • Flask-SQLAlchemy: संचालनदत्तांशकोश, ORM;
  • फ्लास्क-स्क्रिप्ट्: टर्मिनल् स्क्रिप्ट् साधनम्, मचानम् (अप्रचलितम्, आधिकारिकं निर्मितं मचम्: क्लिक् कुर्वन्तु)
  • Flask-migrate: प्रवासनदत्तांशकोशं प्रबन्धयति;
  • Flask-Session: सत्रभण्डारणविधिः निर्दिष्टा;
  • फ्लास्क-मेल: ईमेल;
  • Flask-Login: प्रमाणीकृतः उपयोक्तृस्थितिः (django इत्यत्र Auth मॉड्यूलः अन्तर्निर्मितः अस्ति, यस्य उपयोगः उपयोक्तृप्रवेशं निर्गमनं च साकारं कर्तुं भवति,)
  • Flask-OpenID: प्रमाणीकरणं, OAuth;
  • Flask-RESTful: REST API विकसितुं साधनम्;
  • फ्लास्क JSON-RPC: json-rpc दूरस्थसेवा [प्रक्रिया] आह्वानं विकसितं कुर्वन्तु
  • Flask-Bable: अन्तर्राष्ट्रीयकरणं स्थानीयकरणं च समर्थनं अनुवादं च प्रदाति;
  • फ्लास्क-क्षणः तिथिं समयं च स्थानीयं कुर्वन्तु
  • Flask-Admin: सरलस्य विस्तारयोग्यस्य च प्रबन्धन-अन्तरफलकस्य कृते एकः रूपरेखा
  • Flask-Bootstrap: अग्रे-अन्तं Twitter Bootstrap-रूपरेखां एकीकृत्य (अग्र-अन्तं पृष्ठ-अन्तं च पृथक् भवति, व्यवस्थापक-स्थलं विहाय, एतत् वस्तु मूलतः न प्रयुक्तम्)
  • Flask-WTF: form generation module (अग्रभागः पृष्ठतः च पृथक् भवति, व्यवस्थापकस्थलं विहाय, एतत् वस्तु मूलतः न उपयुज्यते)
  • Flask-Marshmallow: क्रमाङ्कनम् (djangorestframework इत्यस्य क्रमबद्धकस्य सदृशम्)

https://pypi.org/search/?c=Framework+%3A%3A+Flask इत्यस्य माध्यमेन flask द्वारा आधिकारिकतया अनुशंसितानि अधिकानि विस्ताराणि द्रष्टुं शक्नुवन्ति

सज्जी करोतु

# anaconda创建虚拟环境
conda create -n flask python=3.9
# 进入/切换到指定名称的虚拟环境,如果不带任何参数,则默认回到全局环境base中。
# conda activate  <虚拟环境名称>
conda activate flask 
# 退出当前虚拟环境
conda deactivate
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

flask संस्थापयितुं निम्नलिखित आदेशस्य उपयोगं कुर्वन्तु ।

pip install flask -i https://pypi.douban.com/simple
  • 1

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

फ्लास्क परियोजना रचयन्तु

Django इत्यस्य विपरीतम्, Flask इत्यनेन किमपि स्वचालितं कार्यं न प्रदाति, अतः परियोजनायाः आरम्भार्थं भवद्भिः परियोजनानिर्देशिकां प्रबन्धनसञ्चिकां च मैन्युअल् रूपेण निर्मातव्यम् ।

उदाहरणार्थं, project directory flaskdemo रचयन्तु तथा directory मध्ये manage.py रचयन्तु pycharm मध्ये project उद्घाटयन्तु उपरि निर्मितं वर्चुअल् वातावरणं निर्दिशन्तु

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

फ्लास्क-रूपरेखायाः कृते स्टार्टअप-प्रविष्टि-सञ्चिकां रचयन्तु ।नाम भवितुम् अर्हतिapp.py/run.py/main.py/index.py/manage.py/start.py

manage.py, कोडः:

# 1. 导入flask核心类
from flask import Flask

# 2. 初始化web应用程序的实例对象
app = Flask(__name__)


# 4. 可以通过实例对象app提供的route路由装饰器,绑定视图与uri地址的关系
@app.route("/")
def index():
    # 5. 默认flask支持函数式视图,视图的函数名不能重复,否则报错!!!
    # 视图的返回值将被flask包装成响应对象的HTML文档内容,返回给客户端。
    return "<h1>hello flask</h1>"


if __name__ == '__main__':
    # 3. 运行flask提供的测试web服务器程序
    app.run(host="0.0.0.0", port=5000, debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

संहिताविश्लेषणम् : १.

# 导入Flask类
from flask import Flask

"""
Flask类的实例化参数:
import_name      Flask程序所在的包(模块),传 __name__ 就可以
                           其可以决定 Flask 在访问静态文件时查找的路径
static_path          静态文件存储访问路径(不推荐使用,使用 static_url_path 代替)
static_url_path    静态文件的url访问路径,可以不传,默认为:/ + static_folder
static_folder        静态文件存储的文件夹,可以不传,默认为 static
template_folder  模板文件存储的文件夹,可以不传,默认为 templates
"""
app = Flask(__name__)

# 编写路由视图
# flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。
# flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。
@app.route('/')
def index():
    # 返回值如果是字符串,被自动作为参数传递给response对象进行实例化返回客户端
    return "<h1>hello flask</h1>"

# 指定服务器IP和端口
if __name__ == '__main__':
    # 运行flask
    app.run(host="0.0.0.0", port=5000, debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26