ডিফল্টরূপে, বিল্ট-ইন সার্ভার ( Flask.run
) ব্যবহার করে ফ্লাস্ক অ্যাপ্লিকেশন চালানোর সময় , এটি তার পাইথন ফাইলগুলি পর্যবেক্ষণ করে এবং কোডটি পরিবর্তিত হলে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পুনরায় লোড করে:
* Detected change in '/home/xion/hello-world/app.py', reloading
* Restarting with reloader
দুর্ভাগ্যক্রমে, এটি কেবল * .py ফাইলগুলির জন্যই কাজ করে বলে মনে হচ্ছে এবং আমি অন্যান্য ফাইলে এই কার্যকারিতা প্রসারিত করার কোনও উপায় খুঁজে পাচ্ছি না। সর্বাধিক উল্লেখযোগ্যভাবে, টেমপ্লেট পরিবর্তন হলে ফ্লাস্ক অ্যাপটি পুনরায় চালু করা অত্যন্ত কার্যকর হবে । আমি কতবার টেমপ্লেটগুলিতে মার্কআপের সাথে ফিড করছি এবং কোনও পরিবর্তন না দেখে বিভ্রান্ত হয়ে পড়েছিলাম তার গণনা হারিয়ে ফেলেছি, কেবল অ্যাপটি জিনজা টেমপ্লেটের পুরানো সংস্করণটি ব্যবহার করছে তা জানতে।
সুতরাং, টেমপ্লেট ডিরেক্টরিতে ফ্লাস্ক মনিটরের ফাইলগুলি রাখার কোনও উপায় আছে , বা ফ্রেমওয়ার্কের উত্সটিতে ডাইভিংয়ের প্রয়োজন আছে কি?
সম্পাদনা : আমি উবুন্টু 10.10 ব্যবহার করছি। অন্য কোন প্ল্যাটফর্মে সত্যিই চেষ্টা করে দেখেনি।
আরও তদন্ত পর, আমি টেমপ্লেট প্রকৃতপক্ষে যে পরিবর্তন আবিষ্কৃত হয়েছে করছে রিয়েল টাইমে আপডেট, অ্যাপ্লিকেশন নিজেই পুনরায় লোড ছাড়াই। যাইহোক, এই সেই টেমপ্লেট যে প্রেরণ করা হয় প্রযোজ্য বলে মনে হয় flask.render_template
।
তবে এটি ঘটে যায় যে আমার অ্যাপ্লিকেশনটিতে, আমি জিনজা টেম্পলেটগুলিতে ব্যবহার করি এমন অনেকগুলি পুনরায় ব্যবহারযোগ্য, প্যারাম্যাট্রাইজড উপাদান রয়েছে। সেগুলি {% macro %}
গুলি হিসাবে বাস্তবায়িত হয় , নিবেদিত "মডিউলগুলি" এ থাকে এবং {% import %}
প্রকৃত পৃষ্ঠায় রূপান্তরিত হয়। সমস্ত দুর্দান্ত এবং DRY ... এই আমদানি করা টেম্পলেটগুলি দৃশ্যত কখনও কখনও সংশোধনগুলির জন্য যাচাই করা হয় না, কারণ এগুলি একেবারেই পাস হয় না render_template
।
(কৌতূহলজনকভাবে, টেমপ্লেটগুলির মাধ্যমে এটি ঘটেছিল না for {% extends %}
তবে {% include %}
সত্যিই আমি সেগুলি ব্যবহার করি না বলে আমার কোনও ধারণা নেই))
সুতরাং মোড়ানোর জন্য, এই ঘটনাটির শিকড়গুলি জিনজা এবং ফ্লাস্ক বা ওয়ার্কজেগের মধ্যে কোথাও অবস্থিত বলে মনে হচ্ছে। আমি মনে করি এটি projects প্রকল্পগুলির মধ্যে যে কোনওটির জন্য বাগ ট্র্যাকারের ভ্রমণের নিশ্চয়তা দিতে পারে :) এর মধ্যে, আমি জেডি গ্রহণ করেছি । এর উত্তর কারণ এটিই আমি ব্যবহার করা সমাধানটি - এবং এটি কবজির মতো কাজ করে।