উত্তর:
অ্যাপ্লিকেশনটিকে ডেভলপমেন্ট মোডে চালানো কোনও ত্রুটি হলে ব্রাউজারে একটি ইন্টারেক্টিভ ট্রেসব্যাক এবং কনসোল দেখায়। বিকাশ মোডে চলতে, FLASK_ENV=development
পরিবেশ পরিবর্তনশীল নির্ধারণ করুন তারপরে flask run
কমান্ডটি ব্যবহার করুন (নির্দেশ করতে ভুলবেন না)FLASK_APP
পাশাপাশি আপনার অ্যাপ্লিকেশনটিতেও করতে ভুলবেন না)।
লিনাক্স, ম্যাক, উইন্ডোজের জন্য লিনাক্স সাবসিস্টেম, উইন্ডোজে গিট ব্যাশ ইত্যাদি .:
export FLASK_APP=myapp
export FLASK_ENV=development
flask run
উইন্ডোজ সিএমডির জন্য, set
রফতানির পরিবর্তে ব্যবহার করুন:
set FLASK_ENV=development
পাওয়ারশেলের জন্য, ব্যবহার করুন $env
:
$env:FLASK_ENV = "development"
ফ্লাস্ক ০.০ এর পূর্বে FLASK_DEBUG=1
পরিবেশ পরিবর্তনের দ্বারা এটি নিয়ন্ত্রণ করা হত।
আপনি যদি কমান্ডের app.run()
পরিবর্তে পদ্ধতিটি ব্যবহার করেন তবে ডিবাগ মোড সক্ষম করতে flask run
পাস debug=True
করুন।
ট্রেসব্যাকগুলি ডেভেলপমেন্ট মোড নির্বিশেষে সার্ভার চলমান টার্মিনালেও মুদ্রিত হয়।
আপনি যদি পাইচার্ম, ভিএস কোড ইত্যাদি ব্যবহার করে থাকেন তবে ব্রেকআপপয়েন্ট সহ কোডটি সরাতে আপনি এটির ডিবাগারের সুবিধা নিতে পারেন। রান কনফিগারেশন একটি স্ক্রিপ্ট কলিং app.run(debug=True, use_reloader=False)
বা এটি এ নির্দেশ করতে পারেvenv/bin/flask
স্ক্রিপ্টে করতে পারে এবং কমান্ড লাইন থেকে আপনি যেমন ব্যবহার করেন তেমন ব্যবহার করতে পারেন। আপনি পুনরায় লোডারটিকে অক্ষম রাখতে পারেন, তবে একটি পুনরায় লোড ডিবাগিং প্রসঙ্গে মেরে ফেলবে এবং আপনাকে আবার একটি ব্রেকপয়েন্ট ধরতে হবে।
আপনি set_trace
যেখানে ডিবাগিং শুরু করতে চান সেই দৃশ্যে কল করে আপনি পিডিবি, পুডব বা অন্য কোনও টার্মিনাল ডিবাগারও ব্যবহার করতে পারেন।
ব্লকগুলি বাদে খুব বেশি ব্রড ব্যবহার না করার বিষয়ে নিশ্চিত হন। ক্যাপ-অল দিয়ে আপনার সমস্ত কোডকে ঘিরে আপনার try... except...
ত্রুটিটি ডিবাগ করতে চাইবে silence এটি সাধারণভাবে অপ্রয়োজনীয়, যেহেতু ফ্লাস্ক ইতিমধ্যে ডিবাগার বা একটি 500 ত্রুটি দেখিয়ে এবং কনসোলটিতে ট্রেসব্যাক মুদ্রণ করে ব্যতিক্রমগুলি পরিচালনা করবে।
আপনি নীচে উল্লিখিত হিসাবে ওয়ার্কজেগ ডিবাগার সম্পাদনারapp.run(debug=True)
জন্য ব্যবহার করতে পারেন , এবং আমার জানা উচিত ছিল।
debug=True
দৌড়াবেন আসলে ওয়ার্কজেগ ডিবাগারটি ব্যবহার করছেন যাতে এটি কোনও হয় না বা ;-) নয়
print 'xyz'
করে কনসোলে মুদ্রণ করা হবে। আপনি যদি ব্রাউজারে ডিবাগ করতে চান তবে আপনি যেখানে ডিবাগ করতে চাইছেন সেখানে আপনাকে একটি ত্রুটি জোর করতে হবে। raise Exception('xyz')
। এটি ব্রাউজার উইন্ডোতে আউটপুট থেকে ডিবাগকে ট্রিগার করবে।
1.1.x
ডকুমেন্টেশন থেকে , আপনি আপনার শেল প্রম্পটে পরিবেশ পরিবর্তনশীল রফতানি করে ডিবাগ মোড সক্ষম করতে পারেন:
export FLASK_APP=/daemon/api/views.py # path to app
export FLASK_DEBUG=1
python -m flask run --host=0.0.0.0
রেন্ডার পৃষ্ঠাগুলিতে এম্বেড করা আরও বিস্তারিত তথ্য পেতে একজন ফ্লাস্ক ডিবাগ সরঞ্জামদণ্ড এক্সটেনশনও ব্যবহার করতে পারেন।
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
import logging
app = Flask(__name__)
app.debug = True
app.secret_key = 'development key'
toolbar = DebugToolbarExtension(app)
@app.route('/')
def index():
logging.warning("See this message in Flask Debug Toolbar!")
return "<html><body></body></html>"
অ্যাপ্লিকেশনটি নিম্নরূপ শুরু করুন:
FLASK_APP=main.py FLASK_DEBUG=1 flask run
আপনি যদি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করছেন তবে প্রতিস্থাপন করুন
app.run(debug=True)
সঙ্গে
app.run()
অভ্যন্তরীণ ডিবাগারটি চালু করার সময় এটি ভিএস কোড ডিবাগারটিকে অক্ষম করে It
আপনি যদি আপনার ফ্লাস্ক অ্যাপটি ডিবাগ করতে চান তবে কেবল ফোল্ডার অ্যাপ্লিকেশন যেখানে রয়েছে সেই ফোল্ডারে যান। আপনার ভার্চুয়াল পরিবেশটি সক্রিয় করতে এবং কনসোলের লাইনগুলিকে "মেইনফিলনাম" ফ্ল্যাশ মূল ফাইলটিতে পেস্ট করতে ভুলবেন না।
export FLASK_APP="mainfilename.py"
export FLASK_DEBUG=1
python -m flask run --host=0.0.0.0
আপনি ফ্লাশ অ্যাপের জন্য আপনার ডিবাগার সক্ষম করার পরে প্রায় প্রতিটি ত্রুটি কনসোলে বা ব্রাউজার উইন্ডোতে মুদ্রিত হবে। কী হচ্ছে তা যদি আপনি জানতে চান তবে আপনি সাধারণ মুদ্রণ বিবৃতি ব্যবহার করতে পারেন বা জাভাস্ক্রিপ্ট কোডের জন্য কনসোল.লগ () ব্যবহার করতে পারেন।
python-dotenv
আপনার ভার্চুয়াল পরিবেশে ইনস্টল করুন ।
আপনার প্রকল্পের মূলটিতে একটি .ফ্লাসকেনভ তৈরি করুন। প্রকল্পের মূল দ্বারা, আমি ফোল্ডারটি বলতে চাইছি যেখানে আপনার app.py ফাইল রয়েছে
এই ফাইলটির অভ্যন্তরে নিম্নলিখিতটি লিখুন:
FLASK_APP=myapp
FLASK_ENV=development
এখন নিম্নলিখিত কমান্ড জারি করুন:
flask run
দ্রুত টিপ - যদি আপনি পাইচার্ম ব্যবহার করেন তবে Edit Configurations
=> এ যান Configurations
এবং FLASK_DEBUG
চেকবক্স সক্ষম করুন, পুনরায় চালু করুন Run
।
বিকাশ পরিবেশে লগার এবং মুদ্রণ বিবরণী ব্যবহার করুন, আপনি উত্পাদন পরিবেশের ক্ষেত্রে প্রেরণের জন্য যেতে পারেন।
আপনি যদি এটি স্থানীয়ভাবে চালাচ্ছেন এবং কোডের মাধ্যমে পদক্ষেপে সক্ষম হতে চান:
python -m pdb script.py
app.run()
(হয় ডিবাগ চালু বা বন্ধ সঙ্গে)। ফ্লাস্ক অন্য যে কোনও পাইথন অ্যাপ্লিকেশনটির মতো আচরণ করে, তাই আপনি যে কোনও পাইথন অ্যাপ্লিকেশনটি ডিবাগ করুন ঠিক সেভাবেই আপনি এটি ডিবাগ করতে পারেন। আপনি যদি লগিং ব্যবহার করতে চান তবে লগিং ব্যবহার করুন। প্রিন্ট করতে চাইলে প্রিন্ট ব্যবহার করুন। আপনি চাইলে একটি ডিবাগারও ব্যবহার করতে পারেন।