ফ্লাস্ক 0.11 এ একটি flask
সি এল এল চালু করা হয়েছিল। ডক্স এবং চেঞ্জলগ উভয়ই এটির প্রস্তাবিত।
ফ্লাস্ক 0.11 দিয়ে শুরু করে একাধিক বিল্ট-ইন উপায় রয়েছে বিকাশ সার্ভার চালানোর জন্য। সেরাটি হ'ল ফ্লাস্ক কমান্ড লাইন ইউটিলিটি তবে আপনি
Flask.run()
পদ্ধতিটি ব্যবহার চালিয়ে যেতে পারেন ।কমান্ড লাইন
বোতল কমান্ড লাইন স্ক্রিপ্ট (কমান্ড লাইন ইন্টারফেস) দৃঢ়ভাবে কিভাবে এটা আবেদন লোড কারণে উন্নয়নের জন্য সুপারিশ করা কারণ এটি একটি উচ্চতর রিলোড অভিজ্ঞতা প্রদান করে করা হয়। প্রাথমিক ব্যবহারটি হ'ল:
$ export FLASK_APP=my_application $ export FLASK_DEBUG=1 $ flask run
চেঞ্জলগ :
- ক্লিক করা হয়েছে
flask
এবংflask.cli
মডিউলটি ক্লিকের সিএলআই সিস্টেমের মাধ্যমে স্থানীয় ডিবাগ সার্ভার শুরু করতে। এটি পুরানোflask.run()
পদ্ধতিতে সুপারিশ করা হয়েছে কারণ এটি একটি ভিন্ন ডিজাইনের কারণে দ্রুত এবং আরও নির্ভরযোগ্যভাবে কাজ করে এবং এটি প্রতিস্থাপন করেFlask-Script
।
এখনও পর্যন্ত আমি এই "উচ্চতর পুনরায় লোডের অভিজ্ঞতা" লক্ষ্য করিনি। আমি কাস্টম স্ক্রিপ্টের উপরে CLI ব্যবহারের বিন্দুটি দেখতে ব্যর্থ হয়েছি।
যদি ব্যবহার করা হয় Flask.run
, আমি কেবল একটি অজগর ফাইলটি লিখতে চাই:
#!/usr/bin/env python3
from my_app import app
if __name__ == '__main__':
app.run(debug=True)
যদি সিএলআই ব্যবহার করে থাকে তবে একটিতে পরিবেশের ভেরিয়েবলগুলি নির্দিষ্ট করতে হবে। সিএলআই ডক্সে বলা হয়েছে যে এটি activate
ভার্চুয়ালেনভ্রাপার স্ক্রিপ্টে সংহত করা যেতে পারে । ব্যক্তিগতভাবে আমি এটিকে আবেদনের অংশ হিসাবে বিবেচনা করি এবং মনে করি এটি সংস্করণ নিয়ন্ত্রণে থাকা উচিত। হায়রে, একটি শেল স্ক্রিপ্ট দরকার:
#!/usr/bin/env bash
export FLASK_APP=my_app:app
export FLASK_DEBUG=1
flask run
অবশ্যই কোনও উইন্ডোজ ব্যবহারকারীরা সহযোগিতা শুরু করার সাথে সাথে এটি একটি অতিরিক্ত ব্যাটের স্ক্রিপ্টের সাথে উপস্থিত হবে colla
এছাড়াও প্রথম বিকল্পটি বাস্তব অ্যাপ্লিকেশন শুরু করার আগে পাইথনে লিখিত সেটআপের অনুমতি দেয়।
এটি উদাহরণস্বরূপ অনুমতি দেয়
- পাইথনে কমান্ড লাইন যুক্তি পার্স করতে
- অ্যাপ্লিকেশন চালানোর আগে লগিং সেটআপ করতে
তারা প্রচার করে বলে মনে হচ্ছে কাস্টম কমান্ড যুক্ত করা সম্ভব। সরল পাইথন স্ক্রিপ্টগুলি লেখার চেয়ে এন্ট্রি পয়েন্টগুলির মাধ্যমে অপ্রত্যাশিতভাবে প্রকাশ করার চেয়ে কেন এটি ভাল তা আমি দেখতে ব্যর্থ।
পাইথন রান স্ক্রিপ্ট ব্যবহার করে একটি কনফিগার করা লগার ব্যবহার করার সময় লগিং আউটপুট উদাহরণ:
$ ./run.py
DEBUG 21:51:22 main.py:95) Configured logging
INFO 21:51:22 _internal.py:87) * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
INFO 21:51:22 _internal.py:87) * Restarting with inotify reloader
DEBUG 21:51:22 main.py:95) Configured logging
WARNING 21:51:22 _internal.py:87) * Debugger is active!
INFO 21:51:22 _internal.py:87) * Debugger pin code: 263-225-431
DEBUG 21:51:25 inotify_buffer.py:61) in-event <InotifyEvent: src_path=b'my_app/main.py', wd=272, mask=IN_MODIFY, cookie=0, name=b'main.py'>
DEBUG 21:51:25 inotify_buffer.py:61) in-event <InotifyEvent: src_path=b'my_app/main.py', wd=272, mask=IN_MODIFY, cookie=0, name=b'main.py'>
INFO 21:51:25 _internal.py:87) * Detected change in 'my_app/main.py', reloading
INFO 21:51:26 _internal.py:87) * Restarting with inotify reloader
DEBUG 21:51:26 main.py:95) Configured logging
WARNING 21:51:26 _internal.py:87) * Debugger is active!
INFO 21:51:26 _internal.py:87) * Debugger pin code: 263-225-431
CLI: ব্যবহার করে একটি কনফিগার করা লগার ব্যবহার করার সময় লগিং আউটপুট উদাহরণ: লক্ষ্য করুন যে রুট লগার প্রক্রিয়াটিতে প্রারম্ভিক পর্যায়ে সেটআপ করা যায়নি।
$ ./run.sh
* Serving Flask app "appsemble.api.main:app"
* Forcing debug mode on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with inotify reloader
DEBUG 21:51:33 main.py:95) Configured logging
* Debugger is active!
* Debugger pin code: 187-758-498
DEBUG 21:51:34 main.py:95) Configured logging
DEBUG 21:51:37 inotify_buffer.py:61) in-event <InotifyEvent: src_path=b'my_app/main.py', wd=272, mask=IN_MODIFY, cookie=0, name=b'main.py'>
DEBUG 21:51:37 inotify_buffer.py:61) in-event <InotifyEvent: src_path=b'my_app/main.py', wd=272, mask=IN_MODIFY, cookie=0, name=b'main.py'>
* Detected change in 'my_app/main.py', reloading
INFO 21:51:37 _internal.py:87) * Detected change in 'my_app/main.py', reloading
* Restarting with inotify reloader
INFO 21:51:38 _internal.py:87) * Restarting with inotify reloader
* Debugger is active!
* Debugger pin code: 187-758-498
DEBUG 21:51:38 main.py:95) Configured logging
আমার আসল প্রশ্নটি কেবল:
ফ্লাস্ক সিএলআই কেন সুপারিশ করা হয় Flask.run
?