[موسیقی بجانے] عزرا Zigmond کی: ہیلو، سب. آج باہر آنے کے لئے شکریہ. یہ سیمینار "ازگر ہے ویب فلاسک کے ساتھ اطلاقات. " لہذا، میں بات کرنے جا رہا ہوں کیوں کے بارے میں تھوڑا سا آپ کو بنانے کے فلاسک استعمال کرنے کے لئے چاہتے ہو سکتا ہے ازگر کے ساتھ ویب اطلاقات، کے طور پر کی مخالفت وہاں سے باہر کسی دوسرے فریم ورک، کی طرح کرنے کے لئے سب سے زیادہ معروف ہے جس سے Django،. ذیلی عنوان ہے "اور کچھ ہے جو Peewee کی، " ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں ایس کیو ایل ڈیٹا بیس کے ساتھ بات چیت کرنے کے. یہ واقعی اچھا بنا دیتا ہے. تو، یہاں صرف ایک فوری rundown ہے میں جانے کے لئے چاہتے ہیں کے. تو، سب سے پہلے، صرف ایک سلائڈ کہ، ہے Quickstart ہونے جا رہا ہے جس میں ہر چیز حاصل کرنے کے لئے ہے آپ کے کمپیوٹر پر قائم. میں مظاہرہ کرنے جا رہا ہوں اپنے مقامی میک مشین پر اس، ہے کہ صرف اس وجہ سے میں نے یہ کیا ہے جہاں سے پہلے، میں، اس کے ساتھ سب سے زیادہ آرام دہ اور پرسکون ہوں لیکن یہ یقینی طور پر ہے CD50 IDE پر ممکن. تو، اس کے بعد، میں چاہتا ہوں ، فلاسک ہے متعارف کرانے اور آپ کو اس بات پر قائل کیوں آپ کو کرنا چاہئے پہلی جگہ میں اس کا استعمال. پھر، میں نے ایک فوری دے دونگا تم کیا مثال کے طور پر فلاسک، ایک فوری مثال میں کر سکتے ہیں آپ Peewee کی میں کیا کر سکتے ہیں، اور پھر میں تمہیں ایک سے زیادہ دکھائے گا مکمل مثال درخواست میرے خیال میں ہمیں ایک دوسرے کے ساتھ ڈال دیا ہے کہ ایک دوسرے کے ساتھ کے ذریعے چل سکتا ہے. اور پھر آخر میں، میں آخری سلائڈ، میں ہے آپ نظر آتے ہیں کہ کچھ وسائل مزید معلومات کے لئے میں آن لائن. یہ ایک مکمل نہیں ہے فلاسک استعمال کرنے کے لئے کس طرح کے سبق. اور مجھے چھوڑنے کے لئے امید کریں گے سوالات کے لئے کچھ وقت. کسی کو صرف، مقامی طور پر دیکھ کی طرح، وسط میں باہر چللاو آپ کا کوئی سوال ہے تو. تو فوری تنصیب سامان، آپ کے ساتھ عمل کرنا چاہتے ہیں تو، یا آپ کو یہ حاصل کرنا چاہتے ہیں تو آپ کے اپنے مشین پر، میں نے ازگر 2.7.10 استعمال کرنے جا رہا ہوں. فلاسک کے ساتھ کام کرتا ازگر 3، لیکن مجھے پسند ہے کیونکہ وہاں، ازگر 2 استعمال کر رہے ہیں کچھ ازگر پیکجوں کہ ابھی تک 3 کے ساتھ کام نہیں کرتے. آپ PIP انسٹال کیا ہے تو، جس ایک ازگر پیکج مینیجر ہے، آپ ازگر ہے تو مجھے لگتا ہے کہ یا اس سے زیادہ 2.7.9 کے برابر، آپ یہ پہلے سے ہی نصب ہے، یہ ہے یہ پیکجوں کے نصب کرنے کے لئے سپر آسان. تم PIP انسٹال کر سکتے ہیں فلاسک، Peewee کی انسٹال PIP، عام طور پر آپ کو صرف سودو چلانے کے لئے ہے تو اجازت باہر کام کرتے ہیں کہ. اور، آپ استعمال کر رہے ہیں تو ایک سپر ازگر کے پرانے ورژن، میں آپ کو اپ ڈیٹ کرنے کی سفارش کرتے ہیں ازگر یا EasyInstall استعمال PIP نصب کرنے کے لئے. تو، اگلے سوال یہ ہے، فلاسک کیا ہے؟ اور میں سب سے پہلے ایک، لگتا ہے مناسب سوال میں حیران ایک طویل وقت کے لئے، ایک ویب اپلی کیشن کیا ہے؟ کہ ایک لفظ ہے اس کی وجہ سے میں ایک بہت کے ارد گرد پھینک دیا جاتا ہے لگتا ہے مجھے سچ میں پتہ نہیں تھا کہ. اور میں سب سے بہتر لگتا ہے کہ ایک ویب اپلی کیشن ہے مثال کے طور پر، واقعی CS50 خزانہ، کہاں ہے یہ واقعی صرف ایک ویب سائٹ نہیں ہے لیکن یہ کچھ ہے کہ آپ کو قسم کے ساتھ بات چیت کر سکتے. صارف اکاؤنٹس ہیں اور مختلف چیزوں کے تمام قسم کے. تو، بالکل وہی جو آپ کو اپنی طرف متوجہ جہاں ایک ویب سائٹ ہے جو کے درمیان لائن، اور ایک ویب اپلی کیشن، کس طرح کی ہے صوابدیدی، لیکن مجھے خیال لگتا ہے، یہ ایک ویب سائٹ کے مقابلے میں زیادہ کچھ ہے اور یہ ایک مفید درخواست ہے. تو، فلاسک ایک فریم ورک کے لئے ہے ازگر استعمال کرتے ہوئے ویب اطلاقات بنانے. اور امید ہے کہ، آخر تک اس سے، میں آپ کو اس بات پر قائل کریں گے آپ اصل میں کچھ لکھ سکتے تھے کہ CS50 خزانہ طرح ازگر، استعمال کر رہے ہیں جس میں ذاتی طور پر، پی ایچ پی کے مقابلے میں بہت بہتر کی طرح. تو، فلاسک ہے، وہ کہتے ہیں ایک microframework، جس کی طرف سے، وہ اسے بہت کا مطلب سادہ، لیکن توسیع. لہذا، یہ آپ کو ضرورت ہے صرف کیا ہے لیکن آپ کو زیادہ خصوصیات چاہتے ہیں تو، اس میں ان کو لانے کے لئے آسان ہے. لیکن یہ صرف اس وجہ سے ایک microframework، نہیں کرتا یہ چھوٹے منصوبوں کے لئے صرف ہے اس کا مطلب یہ. میں کہنا ہے کہ یہاں ایک لنک ہے اوباما 2012 میں فلاسک استعمال کیا جاتا ہے اپنی انتخابی مہم کے لئے ویب سائٹ، جس میں امید ہے کہ، توثیق کے بارے میں کچھ ہے. لیکن بات یہ ہے کہ میں واقعی فلاسک کے بارے میں پسند ، یہ واقعی نہیں ہے کہ ہے آپ کے لیے فیصلے کے کسی بھی طرح. بس ہم ہیں کیونکہ ویب اطلاقات کے بارے میں بات، میں پر روبی پر اس کا موازنہ کرنے کے لئے ہے ریل اور لوڈ Django، جن میں سے دونوں عظیم فریم ورک ہے، لیکن وہ دونوں مفروضات کے بارے میں کس طرح آپ چاہتے ہیں ڈیٹا بیس کے ساتھ بات چیت، کس طرح آپ کو آپ پیش کرنا چاہتے ہیں خیالات، اور وہ یقینی طور ہو اس کے اچھے پہلوؤں. مثال کے طور پر، ریل پر روبی کے لئے اس فعال ریکارڈ نظام ہے، جس میں ایک بہت اچھا ہے ڈیٹا کے ساتھ بات چیت کرنے کا طریقہ، لیکن آپ پر روبی استعمال کرنا چاہتے ہیں پٹریوں، آپ کی طرح کہ میں بندھ رہے ہیں. لیکن فلاسک کے ساتھ، میں گے کے طور پر Peewee کی کے ساتھ آپ کو دکھائے، آپ کو کسی بھی قسم کا استعمال کر سکتے ہیں ڈیٹا بیس سے آپ چاہتے ہیں، اور آپ کو صرف میں ھیںچو کر سکتے ہیں فلاسک میں توسیع کے طور پر. تو یہی وجہ ہے کہ میں واقعی ہے فلاسک طرح، یہ ہے کہ آپ کے مفروضات نہیں چیزوں کی بنیاد پر آپ کو واقعی ضرورت نہیں. تو، تم نے کیوں فلاسک استعمال کرنا چاہئے؟ فوائد یہ صرف، ہیں واقعی بنیادی خصوصیات ہے اس میں تعمیر آپ کی ضرورت ہے. تو، آپ کے بارے میں فکر کرنے کی ضرورت نہیں ہے چیزوں کی ایک پوری چڑھانے کو سمجھنے تم واقعی میں ضرورت نہیں ہے. آپ فکر کرنے کی ضرورت کی ضرورت نہیں ہے خصوصیات دور رخ کے بارے میں تم واقعی میں ضرورت نہیں ہے. میں نے ذکر کیا کے طور پر،، یہ سپر ہے چیزوں میں سے ملانے میں شامل کرنے کے لئے آسان آپ کی ضرورت ہے کہ. ان میں سے کچھ، فلاسک ہے اس کے لئے ان کی اپنی حمایت. تو فلاسک کہا جاتا ہے کچھ نہیں ہے کہ منتظم عکس جس میں منتظم، لوڈ Django فراہم کرتا ہے پینل، جو آپ کو ایک اچھا بصری راستہ فراہم کرتا ہے اپنی ویب سائٹ کے انتظام کے لئے. لیکن ایک بار پھر، آپ ہیں تو کچھ آسان بنانے، آپ کو شاید ایک بڑے ایڈمن کی ضرورت نہیں ہے پینل، تو میں نے اس سپر اچھا لگتا ہے. اور نقصانات، کہ ہیں آپ کو باکس کے باہر کم طاقت ہے. تو، سب سے پہلے آپ فلاسک کھول جب، اور آپ ازگر پروگرام میں، آپ کو صرف فلاسک سے ٹائپ کریں درآمد *، یا جو کچھ بھی، تم بالکل کے تمام حاصل نہیں خصوصیات آپ چاہتے ہو سکتا ہے. اور تاکہ آپ کو زیادہ واضح طور پر کرنے کی ضرورت ہے آپ چاہتے ہیں کی خصوصیات فہرست. تو یہ ایک نقصان ہے، لیکن میں چھوٹی سی ویب کے لئے تعمیر کر لگتا ہے کہ میں کی طرح اطلاقات دکھا کرنے جا رہا ہوں آپ، کہ واقعی ایک مسئلہ نہیں ہے. اور آخری بات کیا ہے ٹائپنگ میں کوئی غلطی ہے جو، کہنا چاہیے، کم معیاری موجود ہیں یہ ہے فلاسک استعمال کرنے کے لئے کس طرح کے لئے کنونشن، بس کے طور پر بہت سے نہیں ہیں کیونکہ پیشہ ورانہ استعمال کرتے ہیں لوگوں لوڈ Django کے مقابلے میں. لہذا، آپ کی طرح کچھ نظر آتے ہیں تو، لوڈ Django میں "میں کس طرح ایکس کرتے ہیں"، آپ کو شاید یہ تلاش کر لیں گے. اچھا ڈیزائن ہے آپ استعمال کر سکتے پیٹرن، لیکن فلاسک کے ساتھ، یہ ہے قسم کے اپنے راستے پر چلنا، صرف یہ ایک ہے کیونکہ خوبصورت چھوٹی لائبریری. تو لوگ ہیں نقصانات، لیکن مجھے لگتا ہے کہ یہ اب بھی استعمال کے لئے ایک اچھا لائبریری ہے. تو صرف صحیح فلاسک میں کود. یہ یقینی طور پر نہیں جا رہا ہے ایک مکمل سبق ہونا، لیکن یہ آپ کو ایک خیال دینے کے لئے ہے چیزوں کی تشکیل کس طرح کی، اور تو آپ جا آرام دہ محسوس بند اور دستاویزات کو دیکھ کر اور زیادہ باہر تلاش. تو، مجھے ایک بہت کھول سب سے پہلے میں سادہ مثال، اور آپ کو کیا ظاہر ہوتا ہے کہ کی طرح لگتا ہے، اور اس کے بعد ہم کریں گے تھوڑا سا زیادہ اس کو توڑنے. تو یہ یہاں، مجھے اسے چلانے دو. تو، اب میں میری درخواست چل رہا ہے. میں سفاری کو کھولنے کے لئے جا رہا ہوں، اور یہ میرے مقامی میزبان پر چل رہا ہے. تو میں صرف یہ بڑا بنانے کے لئے جا رہا ہوں. لیکن لوکل ہوسٹ: 5000 اور اس طرح، اب، یہ سب کرتا ہے ہے، آپ کی ویب سائٹ کا دورہ کریں جب، یہ "، ہیلو فلاسک" باہر پرنٹس جس، سپر مفید نہیں ہے لیکن مجھے یہ اچھا لگتا ہے یہاں اس چھوٹی سی فائل میں، ہم نے ایک ویب سرور چل رہا ہے کہ کچھ باہر پرنٹ ہے. تو، اصل میں نظر آتے ہیں ایک سیکنڈ کے لئے کوڈ میں، اور تھوڑا سا اس کو توڑنے. سائز یہاں سب کے لئے اچھا ہے؟ تو، امید ہے کہ، آپ کو کسی حد تک ہیں ازگر کا استعمال آرام دہ اور پرسکون. ہم میں دیکھ سکتے ہیں کہ سنبھالنے رہا ہوں ازگر اور اس کے ذریعے پڑھ. آپ کے بارے میں کوئی سوالات ہیں، تو کچھ، میں نے بھی اس پر جا سکتے ہیں. تو سب سے پہلے لائن فلاسک سے، ہے، ہم ایک سرمایہ کے ساتھ، فلاسک درآمد "F" جس میں تمام کی طرح ہے آپ کی ضرورت ہے اہم خصوصیات. جب بھی آپ لکھ رہے ہیں ایک فائل کا استعمال کرتے ہوئے فلاسک، آپ کو اس درآمد کرنا چاہتے ہیں جا رہے ہیں، کہ تمام اہم چیزیں ہیں صرف اس وجہ سے. ہم کرتے ہیں اگلی بات، ہم صرف، اس تقریب فلاسک کال ایک اپلی کیشن اعتراض تخلیق، اور آپ ہیں کے لئے ہمیشہ ایسا کرنے کے لئے کرنا چاہتے ہیں جا. اور پھر، کے نیچے کود نیچے تیزی سے، اس حصہ یہاں ہے ہے جو 'if_name _ == "_ main_" ایک ازگر کنونشن کی طرح. تو یہ صرف اگر آپ کو عملدرآمد کیا جائے گا براہ راست ازگر کا استعمال اس فائل کو چلانے. پھر، ہم جس میں، app.run کال اصل میں جا اپلی کیشن شروع. لہذا، اس کا بنیادی ڈھانچہ ہے کہ آپ کو کسی بھی فلاسک درخواست میں پڑے گا، آپ کو اس پڑے گا اپلی کیشن = فلاسک (_name_)، اور پھر app.run. تو، دو چیزوں میں ہے کہ یہاں، ہم راستوں کہتے ہیں. تو، کے بارے میں بات کرتے ہیں تھوڑا سا زیادہ روٹنگ. میں واپس سلائڈ کے لئے جائیں گے. تو سب سے زیادہ بنیادی فلاسک میں تصور روٹنگ ہے. اور یہ خیال ہے کہ آپ کو ازگر میں افعال تفویض مخصوص پتوں پر آپ کے ویب صفحے پر. لہذا، جب بھی آپ چاہتے ہیں ایک نیا راستہ بنانے کے لئے، آپ کو اس @ app.route استعمال تقریب ڈیکوریٹر. تو، آپ کے ساتھ مجریچت ہیں تو ازگر میں تقریب ڈیکوریٹر، یہ تصور ہے کہ آپ کو ایک تقریب ڈالیں کی اجازت دیتا اور کچھ اور کے ساتھ اس کے چاروں طرف. تو واقعی، اس ڈیکوریٹر کرتا ہے، ، یہ مندرجہ ذیل تقریب لیتا ہے اور اس سے زیادہ کے بارے میں معلومات کا اضافہ کر دیتی اس کے لئے، لیکن کیا فلاسک اصل ایسا پڑتا سپر نہیں ہے اہم، لیکن اہم بات یہ ہے، کہ آپ، راستہ سامنے ہے تو یہ @ app.route ڈال دیا، اور راستے کا پتہ، تو سلیش ہے ہم ہم صرف ویب کے صفحے کو کھولنے جب دیکھا. تو ہے کہ مرکزی ہے. یہ صرف سلیش راستہ ہے. اور پھر آپ کو اس تقریب ہے. تقریب کے نام آپ چاہتے ہیں جو کچھ بھی ہو سکتا ہے. یہ ضروری نہیں ہے راستے کے ساتھ کیا کرنا ہے. اور پھر، جو تقریب کی واپسی، تقریب ایک تار واپس آ جانا چاہئے. اور اس سٹرنگ کر سکتے ہیں ، HTML یا کچھ پر مشتمل اور یہ کہ کیا ہو جائے گا اصل میں ہے HTML کے طور پر آپ کے ویب براؤزر کو واپس، اور یہ کہ فراہم کرے گا. تو یہ وہی کوڈ آن ہے مثال کے طور پر کی طرف سے تھا میں صرف بھاگ گیا ہے کہ، تو ہم سلیش کا دورہ کریں جب، یہ ایک عالمی خوش تقریب، بلاتا ہے جس میں صرف ایک تار، ہیلو فلاسک واپسی، اور یہ کہ سکرین پر چھپا ہو جاتا ہے. تو ایک مثال ہے، ہے جس میں، جب آپ خوش / کا دورہ، یہ خوش کلام، باہر پرنٹس اصل میں، ہیلو دنیا کہنا چاہئے، لیکن ہے کہ جان بوجھ تھا دکھاوا. تو اصلی فوری کہ ھیںچو. تو آپ کو ہیلو / لوکل ہوسٹ پر جاتے ہیں، اب یہ کچھ اور پرنٹ گا. تو ہے کہ کس طرح صرف ایک فوری مثال ہے آپ کو دو مختلف راستوں تشکیل دے سکتے ہیں. تو، اب تک اس، سپر مفید نہیں ہے آپ کر سکتے ہیں ایک پوری بہت نہیں ہے، آپ کو صرف ساتھ تمام ہے کہ کر سکتے ہیں مختلف HTML صفحات ہونے، اور آپ کو ایک خاص طور پر کا دورہ کریں جب صفحہ یہ صرف صفحے بوجھ. تو کچھ زیادہ دیکھنے دو آپ کر سکتے ہیں مفید چیزیں. لہذا، ایک بات آپ کو ہو سکتا ہے کہ میں نکالا ہے کہ مثال کے طور پر میں نے محسوس کیا اپ، میں app.run تھا کہ ہے (ڈبگ = سچ). اور اس طرح، کیا یہ ڈیبگ دلیل ہے، کرتا ہے آپ کو آپ کے ویب سرور چلانے جب کہ، آپ اپنی درخواست میں ہیں جب، آپ کو ایک فائل کو تبدیل کرتے ہیں، یہ خود کار طریقے سے سرور کو دوبارہ لوڈ کریں. اور تو آپ کو اصل کی ضرورت نہیں ہے سپر مفید ہے جو دوبارہ شروع ازگر،. میں ظاہر ہوتا ہے کہ کر سکتے ہیں. میرے کوڈ ھیںچو اس میں ٹائپنگ کے ساتھ، اور یہ کہ ٹائپنگ میں کوئی وہاں ڈال تھا دکھاوا جان بوجھ کر شکنپرد مقاصد کے لئے. تو میں اس کی پیٹھ شامل ہیں. تو اب یہ خوش دنیا کہتے ہیں. میں اسے بچانے جائے گا. اور ہم واپس ھیںچو تو ٹرمینل، تمہیں یہ دوبارہ شروع ہے کا کہنا ہے کہ، یہ ایک تبدیلی کا پتہ لگنے کی وجہ سے، اور تو اب ہم اس صفحہ کو دوبارہ لوڈ جب یہ صحیح چیز باہر پرنٹ گا. تو ڈبگ سپر اس کے لئے مفید ہے. اس کے علاوہ، آپ کو کوئی چیز ہے تو ایک حادثے کی طرح، تو مجھے اس درخواست حادثے بنانے کی طرف سے یہ ایک تار واپس نہیں. تو، صرف یہ ہے چلو کسی وجہ سے کوئی بھی واپس. اور پھر میں اس کا دورہ کریں جب صفحے، یہ صرف کریش گا، لیکن سرور صرف اس کریش نہیں ہوتا اصل میں آپ کو ایک سپر مفید واپس دیتا ہے ہر چیز کا ٹریس غلط ہو گیا کہ. اور، بہت اچھا کیا ہے کہ ہے واپس ٹریس میں کسی بھی مرحلے پر، آپ کو ایک انٹرایکٹو کھل سکتا ہے یہاں شیل، اور اس طرح کی باہر پرنٹ کیا متغیر آپ پر ایک نظر لے جانا چاہتا ہوں. اور اس طرح بگ واقعی ہے باہر figuring کے لئے مفید کیا چل رہا ہے آپ سرور، کی بجائے صرف دیکھ ایک 500 اندرونی طرح پی ایچ پی میں کچھ سپر بیکار ہے جس میں سرور کی خرابی،. ایک بات ہے، کے بارے میں علم ہونا کہ آپ کو آن لائن آپ کی اے پی پی ڈال دیا تو تو یہ، عوام کے لئے نظر آتا ہے آپ کبھی ڈیبگ موڈ چھوڑنے کے لئے چاہتے ہیں، لوگ اصل میں کر سکتے ہیں کی وجہ سے کہ کنسول استعمال کرتے ہیں کہ میں آپ کو صوابدیدی کوڈ پر عمل سے ظاہر ہوا. تاکہ وہ کسی بھی طرح باہر پرنٹ کر سکتے ہیں آپ وہاں میں خفیہ کوڈ، وہ بالکل میں دیکھ سکتے ہیں کس طرح اپنی ویب سائٹ کام کر رہا ہے. تو یہ واقعی مفید ہے جانچ کے لئے، لیکن ہمیشہ کرنے سے پہلے اسے باہر لے اس بات کا یقین آپ آن لائن کچھ بھی شائع. تو جب آپ کو کچھ استعمال کر رہے ہیں پی ایچ پی کی طرح، یہ خیال ہے آپ کو منتقل کر سکتے ہیں ویب صفحات کے درمیان معلومات اصل معلومات ڈال کی طرف سے ایک حاصل کی درخواست ہے جس میں یو آر ایل، میں، لیکن فلاسک میں، آپ اصل میں کر سکتے ہیں قسم کی اس طرح کچھ کرنا، ہے کہ ایک راستہ کی طرف سے اس کے حصہ کے طور پر ایک متغیر. آپ کو اس پر نظر ڈالیں تو یہاں کی سکرین پر مثال کے طور پر، ہم ہے کہ ایک راستہ ہے ('/ ہیلو /')، اور تو، آپ کا دورہ کریں تو / ہیلو / کچھ، کہ کچھ اصل میں بھرا ہوا ہو جا رہا ہے نام متغیر میں. اور تقریب ہے کہ محسوس کریں کہ راستے کے ساتھ آتا ہے پیرامیٹر میں لینے کے لئے ہے ، اس کا نام دراصل گا تاکہ تقریب میں منظور ہو. اور پھر، ایک بار تم اس تقریب کے اندر، آپ کی طرح کہ علاج کر سکتے ہیں ایک عام ازگر متغیر، اور تو، یہ ہیلو باہر پرنٹ، اور یہ استعمال نام میں بھر جائے گا کچھ سٹرنگ فارمیٹنگ. تو ایک روٹنگ متغیر حصوں کو شامل کرنے کے لئے، آپ مارکنگ زاویہ بریکٹ کا استعمال کریں. اور اختیاری، آپ استعمال کر سکتے ہیں کیا ایک کنورٹر کہا جاتا ہے. اور اس طرح، آپ کو اس ڈال دیا تو بڑی آنت کے ساتھ تشریح، آپ کہ یہ وضاحت کر سکتے ہیں ایک int، یا فلوٹ، یا راہ، اور یہ خود کار طریقے سے تبدیل کریں گے. آپ یہ بھی کر سکتے ہیں تبادلوں ازگر تقریب کے اندر اندر، صرف ایک کاسٹ کا استعمال کرتے ہوئے، لیکن بعض اوقات تو تم نے اسے ایک int ہے اس بات کا یقین کرنا چاہتے ہیں، آپ کو اس میں ڈال سکتے ہیں وہاں میں تبادلوں اصول. تو اس کی ایک مثال کے طور پر ھیںچو کچھ متغیر قوانین کی. تو یہاں، یہ بنیادی ایک ہی ہے فلاسک درآمد کی طرف سے کے ساتھ ساخت فلاسک، اپلی کیشن = فلاسک (_name_)، اور پھر اس کے آخر میں چل رہا ہے. ہم ان دو مختلف ہے یہاں متغیر راستوں. اور سب سے پہلے ایک ہے، میں ظاہر ہوتا ہے کہ ایک تھا کہ جس میں سلائڈ، میں یہ صرف ایک سٹرنگ کا نام میں لیتا ہے اور یہ، نام ہیلو پرنٹ. اور پھر، دوسرا ایک تبادلوں کرتا ہے. تو یہ خود کار طریقے سے تبدیل کریں گے ایک int ہے، اور پھر، INT دوگنا اور یہ کہ باہر پرنٹ. اور ہم کسی بھی قسم کی نہیں کرتے اس کے اندر اندر تبادلوں کے فلاسک اس کا خیال رکھتا ہے. تو یہ چل رہا ہے حاصل کرنے کی اجازت. آپ کو ایک فلاسک ہے جب درخواست چل رہا ہے، تم اس سے باہر سی کنٹرول کر سکتے ہیں سرور چلانے کو روکنے کے لئے. اور پھر میں نے متغیر چلایا جائے گا. تو لوکل ہوسٹ / ہیلو / عزرا جانے اور امید ہے، یہ میرے لئے خوش کہیں گے. تو یہ متغیر میں، میرے نام میں لے لیا راستہ، اور یہ یہاں میں بھرا ہوا. پس میں نے بھی فوری دکھائیں گے دوہراکرن کی مثال. تو آپ کو 3 / / ڈبل کے پاس جاؤ تو، یہ 6 سے باہر پرنٹ گا. تو اس کی دیکھ بھال لیا ہمارے لئے تبادلوں. تو تم بھی ایسا کر سکتے ہیں فلوٹ، اور کچھ خاص، آپ کی طرح کچھ کی وضاحت کرنے کی ضرورت ہے تو یہ slashes کے قبول کرنے کی اجازت دیتا ہے کہ ایک راستہ،، لیکن اس عام طور پر ایک مسئلہ نہیں ہونا چاہئے. اب تک ہم نے، اب بھی ہے صرف واپس آ گیا بہت دلچسپ نہیں ہے جو ڈور،. ہم اصل میں واپس آ سکتا ہے لغوی HTML سٹرنگ. لہذا کوڈ میں ہم کچھ داخل کر سکتے ہیں بی ٹیگ اس کے جرات مندانہ بنانے کے لئے کی طرح، لیکن سب سے زیادہ وقت آپ اصل میں نہیں کرنا چاہتے ایچ ٹی ایم ایل کوڈ لکھنے ہونا آپ ازگر کوڈ میں. یہ واقعی گندا ہو جاتا ہے اور یہ ایک اچھا وقت نہیں ہے. فلاسک ہمیں باہر علیحدہ کرنے کے لئے کی اجازت دیتا ہے سانچہ کہا جاتا ہے کیا میں ایچ ٹی ایم ایل، اور اگر ایسا ہے تو آپ کیا سوچ رہے ہیں MVC ماڈل کے لحاظ سے آپ کے ساتھ واقف ہیں، امید ہے، کام کرنے سے CS50 خزانہ کے ساتھ تھوڑا سا، آپ ازگر فائلوں کے بارے میں سوچ کر سکتے ہیں کنٹرولر، جہاں سے زیادہ ہونے کے طور پر وہ جو کچھ بھی کے ساتھ بات چیت کر رہے ہیں آپ ہو سکتا ہے کے اعداد و شمار کے ماڈل. اور پھر وہ خیالات کو باہر بلا رہے ہیں اور یہ کہ دیکھیں معلومات گزر معلومات میں بھرنے کے لئے ایچ ٹی ایم ایل میں اس کی ضرورت ہے کہ. اور ہم نے ان کے خیالات کو کہتے ہیں کلاس میں سانچے ہیں. تو فلاسک ایک ازگر استعمال کرتا اس ماڈیول یہ خود بخود ہو جائے گا آپ کو انسٹال PIP جب انسٹال فلاسک میں Jinja، کہا جاتا ہے جس تم ان کا اضافہ ایچ ٹی ایم ایل ینوٹیشن آپ کی سکرین پر دیکھتے ہیں کہ، کہ اجازت دیتا ہے آپ، کونداٹاونالس طرح چیزوں میں ڈال دیا اور HTML میں loops کے. تو یہ آپ کے لئے کس طرح کی طرح تھوڑا سا لگتا ہے ایک HTML فائل کے اندر اندر پی ایچ پی استعمال کر سکتے ہیں، لیکن یہ صرف جب فلاسک ہے سرور، ایچ ٹی ایم ایل فائل کو کام کرتا ہے اس templating انجن چلایا جائے گا اور اس کے ذریعے تجزیہ اور میں چیزوں کو بھرنے. تو فلاسک ایک render_template تقریب ہے آپ یہاں نچلے حصے میں دیکھ سکتے ہیں. اور اس لئے تم، اس صفحے کا دورہ کریں جب اس hello.html سانچہ رینڈر، اور پھر اس HTML صفحے میں بھرنے. تو صرف یہ حقیقی چلاتے ہیں فوری، اور اس طرح لگتا ہے دیکھ، اور پھر میں نے ایک کے ذریعے جائیں گے مزید تفصیل سے تھوڑا سا. تو، آپ کے سانچوں جا رہے ہیں ایک سانچے فولڈر میں جانے کے لئے. یہ خود کار طریقے کے اندر اندر نظر آئے گا سانچے کہ سانچہ کے لئے فولڈر. تو اس کو کھول دیں. لہذا، میں templating کے مثال کے طور پر چلائے جائیں گے. تو میں / ہیلو / عزرا پر جاتے ہیں، یہ خوفناک ہے، میں ڈال دیا ہے کہ قابل نفرت پھسلائیں ٹیگ. بہت اچھا، بہت متحرک. میں نے ایک بہت بڑا پرستار ہوں. لیکن کیا تو کیا ہوتا میں صرف، / ہیلو جانا؟ تو یہ صرف خوش دنیا کہتے ہیں. میں نے اسے ایک نام پر منتقل نہیں کیا، اور یہ خود کار طریقے سے میں بھر. تو اس نے کس طرح دیکھتے ہیں، اور کس طرح ہم ہو سکتا ہے کہ پھسلائیں سے چھٹکارا حاصل کر سکتے ہیں. تو یہاں، اس طرح کی ہے کی ایک دلچسپ مثال، آپ کو کس طرح سوئچ کے ساتھ واقف ہیں تو بیانات کسی اور زبان میں کام کرتے ہیں. ، اس طرح کی طرح کا کہنا ہے کہ کے ذریعے ایک موسم خزاں میں اس طرح، جہاں آپ اصل میں دو منسلک اسی تقریب میں مختلف راستوں. تو ہم / ہیلو راستے منسلک اور ہیلو / ہیلو / نام راستے، ازگر آپ کی اجازت دیتا using-- اور ہم وضاحت ڈیفالٹ تقریب دلائل کی وضاحت تو کوئی نام تو، وہاں ہے ہم پر جانا ہے تو صرف / ہیلو، یہ خود کار طریقے فلٹر کریں گے نام کوئی برابر ہے. تو پھر، ہم رینڈر نام = نام کے ساتھ سانچہ، تو اس کا نام پیرامیٹر میں گزر جائے گا اس نام تقریب پیرامیٹر کے برابر، سانچے میں. ہے کہ کس طرح یہ اب بھی کی وضاحت نہیں کرتا ہیلو دنیا پرنٹ کرنے کا فیصلہ، یا میرا نام پرنٹ. تو اصل میں دیکھو سانچہ خود میں، اور اس سے آ رہا ہے جہاں دیکھیں. تو، اس سانچے کے اندر اندر، ہم اصل میں کچھ مشروط منطق ہے، جس میں کچھ لوگوں گے بحث، آپ اصل میں مشروط کی ایک بہت ہے نہیں ہونا چاہئے اپنے سانچے کے اندر منطق. اس کے اندر اندر زیادہ ہونا چاہئے کنٹرولر، لیکن یہ مثال کے طور پر اس خوبصورت چھوٹی چیز ہے. نام تو یہاں، ہم ایسا،، چیک اگر نام سے کوئی بھی کے برابر نہیں ہے، ایک نام اصل میں ہے تو ، اس کے بعد ہم کریں گے میں منظور ساتھ نام، ہیلو کا کہنا ہے کہ ہیڈر اور پھسلائیں، یہ سب عام HTML، دوسری صورت میں، ہم ہیلو باہر پرنٹ، دنیا صرف عام طور پر. تو ایک جوڑے چیزیں یہاں محسوس کرنا آپ templating کے فارمیٹ کے بارے میں، ان میں سے، کہ تمام ہے مشروط بیانات، قسم کی طرح ہم نے اسے جب پی ایچ پی کے لئے کس طرح آپ کچھ پی ایچ پی شامل کرنے کے لئے چاہتے ہیں، آپ کو کم سے زیادہ استعمال کرتے ہیں سوال نشان، اسے یہاں کی طرح مطابق ہے کے ساتہ {٪. تو یہاں، ہم اپنے مشروط کوڈ ہے. اور پھر، آپ اصل میں کرنا چاہتے ہیں جب لفظی کچھ اندازہ، اور پرنٹ سکرین کے لئے اسے باہر، آپ ڈبل منحنی خطوط وحدانی کا استعمال کرتے ہیں. تو یہاں ڈبل منحنی خطوط وحدانی ہیں، اور پھر ہم نام کی وضاحت، اس کے اندر تو، اس کا اندازہ کرے گا متغیرہ کا نام، جس سے سے منظور کیا گیا تھا ، سانچے تقریب رینڈر بلکہ صرف پرنٹنگ کے مقابلے میں باہر، ہم ان میں سے چھٹکارا مل گیا تو، یہ صرف لفظ باہر پرنٹ کریں گے "کا نام." تو، اس کے لئے باہر دیکھنے کے لئے کچھ ہے. تو ایک اور بات کرنے کے لئے نوٹس ہے جب ہم اس استعمال کرنا چاہتے ہیں render_template تقریب، ہم اصل میں درآمد کرنا ہوگا یہ واضح طور پر فلاسک سے. اور اس کی ایک مثال ہے فلاسک مائروپکتا، آپ کو درآمد کی ضرورت نہیں ہے کہ آپ کی ضرورت نہیں ہے کہ چیزوں. آپ کو صرف میں لا سکتے ہیں افعال اصل میں آپ بعض اوقات ہے جو، کی ضرورت ہے اچھا، تو آپ ایسا نہیں کرتے ان تمام افعال کی ضرورت ہے آپ استعمال نہیں کر رہے ہیں اس کے ارد گرد بیٹھ کر، بلکہ، آپ اس بھول جاتے ہیں تو render_template درآمد کرنے کی ضرورت، آپ کو شاید ایک انتباہ حاصل کریں گے کہ آپ کو اس کے بارے میں پتہ چل جائے گا. لہذا، اس کے templating ہے. تو، ہم کس طرح کرنے کے لئے دکھایا گیا ہے ، سادہ ویب صفحات بنانے کے اور تھوڑا سا زیادہ منطق شامل یہ متغیر روٹنگ کے لحاظ سے. یہ آپ کی بنیاد پر مختلف باتیں کرتے ہیں کی اجازت دیتا ہے کیا آپ پھر بھی جانا، اور یو آر ایل، دے میں HTML تھوڑا سا زیادہ احساس آپ چیزوں کو رینڈر کرنے کے لئے چاہتے ہیں کہ کس طرح کی شرائط. تم سب کو ڈال کرنے کی ضرورت نہیں ہے آپ ازگر میں اپنے HTML، لیکن بہت زیادہ کے لئے ہر ویب ایپلیکیشن، آپ کسی قسم چاہتے ہیں کے لئے جا رہے ہیں ڈیٹا ماڈل کی اس کے ساتھ منسلک. اور اس طرح روایتی طور پر، اس گے ایک ایس کیو ایل ڈیٹا بیس کی طرح کچھ ہو. اور آپ کو صرف بات چیت کر سکتے براہ راست SQL کے ساتھ. ازگر، ہے میں یہ کہا جاتا ہے لگتا ہے. SQLite کی 3. تم بس SQLite کی 3 درآمد کر سکتے ہیں اور براہ راست SQL سوالات کو پھانسی، لیکن میں نے آپ کے بارے میں نہیں جانتے، لیکن مجھے سچ میں، صرف پسند نہیں کرتے، SQL سوالات لکھنے. یہ واقعی میں حاصل کرنے کے لئے جاتا ہے طویل اور پیچیدہ. اور اس طرح، کہ کچھ میں نے استعمال کرنا کیا ہے پسند ایک ہے جس میں ایک ORM، کے طور پر جانا اعتراض-سنبندپرک تعریفیں. اور ایک کے نقطہ نظر اعتراض-سنبندپرک تعریفیں، دو مختلف موجود ہیں یہ ہے طریقوں سے آپ کے ڈیٹا بیس کے بارے میں سوچ کر سکتے ہیں. مثال کے طور پر تو ہے کہ پروفیسر مالن عام طور پر کلاس میں استعمال کرتا ہے، ایکسل ٹیبل، کہاں ہے آپ کو اس قطار اور ان کالموں ہے، اور اس کے لئے واقعی مفید ہے یہ SQL میں نمائندگی رکھتا ہے کس طرح اور تم اس کے ساتھ کس طرح بات چیت، لیکن یہ اصل میں ہے کہ ایک اور طریقہ کبھی کبھی اس کے بارے میں سوچنے کے لئے مفید، کلاسیں اور اشیاء کی شرائط میں ہے. تو بجائے سوچ کے ہر ایک میز کے ہونے کے طور پر کچھ ہے کہ اس صف معلومات، آپ اصل میں کر سکتے ہیں کیا جا رہا ہے کے طور پر اس کے بارے میں سوچنا ہر ایک میز کے ایک کلاس ہے، اور پھر ہر مثال کے طور پر کلاس کچھ خصوصیات ہے. کی اتنی، اس مثال میں، مثال کے طور پر کلاس ٹیبل میں قطاروں ہیں، اور پھر ہر پراپرٹی گے ٹیبل میں ایک کالم ہونا. تو، مجھے پسند ہے کہ ORM Peewee کی کہا جاتا ہے استعمال کرنے کے لئے. اس طرح کی فلاسک طرح، واقعی چھوٹا ہے. میرے خیال میں وہ ایک دوسرے کے ساتھ اچھی طرح سے جانا لگتا ہے کہ، لیکن دوسرے ORMs کی ایک بہت ہیں آپ استعمال کر سکتے ہیں. ایک سے زیادہ مقبول میں سے ایک ہے SQLAlchemy طور پر جانا جاتا، اور میں نے کیوں میں اصل یاد نہیں کر سکتے ہیں ، SQLAlchemy زیادہ Peewee کی منتخب کیا یا میں آپ کیوں مجھے بتائیں گے یہ سب سے اچھا ایک ہے، لیکن ہم صرف اس کا استعمال کرنے جا رہے ہیں ایک میں اسے استعمال کرنے کے لئے کس طرح جانتے ہیں کیونکہ. تو، ایک سوال، یہی وجہ ہے آپ کو ایک ORM استعمال زحمت کرنا چاہئے، کی بجائے صرف براہ راست SQL سوالات لکھنا؟ اور مجھے لگتا ہے کہ سب سے بہتر صورت، آپ اصل میں نہیں ہے SQL سوالات لکھنا ہے. میں تمہیں دکھاتا ہوں کے طور پر اس،، بہت آسان ہے انتخاب کی طرح باتیں کرتے ہیں، اندراج، منسوخی، خاص طور پر ٹیبل پیدا. یہ کرنے کے لئے بہت آسان ہے ایک کلاس ساخت لکھنے، اس کی ساخت کے لئے ہے کے مقابلے میں ایک تخلیق ٹیبل بیان، لیکن ایک بات ، کے بارے میں علم ہونا ہے ORM اپنی بہترین کوشش کریں گے پتہ کرنے کے لئے سب سے زیادہ موثر SQL سوال، ہو جائے گا لیکن کبھی کبھی یہ غلط ہو جاتا ہے. اور تم خاص طور پر اگر ایک بڑی ڈیٹا بیس کے ساتھ کام کر رہے ہیں، آپ ایک سوال ہے کہ محسوس کر سکتے ہیں کہ، تیزی سے چل رہا کیا جانا چاہئے اصل میں وقت لگ رہا ہے. اور تم کس طرح میں ہڈ کے تحت نظر آتے ہیں تو ORM، ایس کیو ایل میں اس کی تشریح ہے یہ کچھ کر رہا ہو سکتا واقعی مضحکہ خیز، صرف قسم کے اس کی وجہ سے اپنے ارادوں غلط اشارہ. اور، اوقات جہاں وہاں کیا گیا ہے میں نے اس کی جگہ لے لے کرنے کے لئے تھا، اور صرف ہے صرف، اپنے SQL سوالات کو پھانسی یہ ایک عجیب طریقے میں تصریف تھا کیونکہ. لہذا، وہاں کچھ صرف راستے میں، ہیڈ سے آگاہ کریں کہ آپ SQL میں نیچے بیانات. تو، میں فوری طور پر سپر نظر آتے ہیں ایک ڈیٹا ماڈل کی ایک سادہ مثال کے طور پر آپ استعمال کرتے ہیں ہو سکتا ہے کہ. تو، یہ اتنا ازگر کوڈ، ہے آپ کرنا چاہتے ہیں سب سے پہلی چیز کی طرف سے ہے Peewee کی درآمد *. تو، فلاسک، کے برعکس ہے جہاں آپ ان تمام انفرادی ماڈیولز، اور آپ فلاسک درآمد کرنا چاہتے ہیں، اور ایک سانچہ، اور کچھ دوسروں لکھنا ہم بعد میں دیکھیں گے کہ، Peewee کی طرف سے، آپ کو صرف، ہر چیز درآمد کر سکتے ہیں کیونکہ یہ ایک بہت چھوٹی سی لائبریری ہے. تو، تم کیا کرنا چاہتے سب سے پہلی چیز، ہے اصل میں اس ڈیٹا بیس پر اعتراض پیدا. لہذا، آپ کو کرنا پڑے DB = SqliteDatabase، اور پھر آپ کی ڈیٹا بیس کا نام. اور یہ اصل میں کریں گے ایک ڈیٹا بیس پر اعتراض کی تخلیق آپ Peewee کی کے ساتھ، کے ساتھ بات چیت کر سکتے ہیں. اور پھر، ہم اصل ہے ہم پیدا کرنے کے لئے چاہتے ہیں کہ ماڈل. تو میز پر ہم پیدا کرنا چاہتے ہیں. تو، Peewee کی کے اندر اندر، ہر کلاس ہے آپ کے ڈیٹا بیس کے اندر اندر اس کی اپنی ٹیبل. لہذا، کلاس کی تمام بیس ماڈل وارث، اور سرمایہ ایم ماڈل ہے Peewee کی میں وضاحت کی گئی ہے کہ کچھ. لہذا، آپ کی ماڈل کے تمام ہونا چاہئے سب اپنی اپنی جگہ superclass طور پر وارث، وہ وارث چاہئے ماڈل، لیکن بہت ٹھنڈا کیا ہے، آپ اصل میں آپ ہو سکتا ہے ماڈل ایک دوسرے سے وارث. اور وقت کی ایک بہت، آپ ڈیٹا ماڈل ضروری نہیں ہے ایک اچھا میراث کے تنظیمی ڈھانچے، لیکن وہ ایسا کرتے ہیں جہاں اوقات، یہ بہت اچھی بات ہے آپ کو ماڈل ہے کیونکہ ایک دوسرے سے موروثی. لہذا، ہم نے اس کلاس کی وضاحت ایک ماڈل اورنکاح جو طالب علم، '، اور یہ تین خصوصیات ہے. یہ ہے، ایک شناختی ہے ایک PrimaryKeyField، جس فراہم کی ہے کہ کچھ ہے Peewee کی طرف سے، نام CharField ہے، اور ایک جماعت ایک IntegerField ہے. تو یہ یا نہیں ہو سکتا کس طرح CS50 اصل میں تمام اسٹورز طالب علموں کے گریڈ. یہ نہیں ہے، لیکن اس میں یہ کروں گا کہ کس طرح ہے. اور پھر اس کے اندر اندر ہے، اس کلاس، اور اس آپ کے ساتھ کیا کیا جا سکتا ہے ازگر، آپ اندر در اندر کلاس کر سکتے ہیں. اور یہ کچھ ہے کہ Peewee کی طرف سے کی ضرورت ہے. تو، اس کلاس میٹا، آپ کو کرنا پڑے ڈیٹا بیس ہے کہ وضاحت کرنے اعتراض کے برابر ہم نے مندرجہ بالا پیدا کیا ہے کہ. اور اس فائل کو اس کی میز ہے کیا کہتا ہے اصل میں موجود ہونے جا رہا. تو یہ ہے کہ آپ کو کچھ ہے آپ کے ماڈل کے تمام کے اندر اندر ایسا کرنے کے لئے. آپ کو صرف کی وضاحت کرنا پڑے اس میٹا کلاس کے اندر اندر ڈیٹا بیس ہے کہ DB کے برابر ہے. میں ہے تو میں عام طور پر، کیا مختلف ماڈلز میں سے ایک گروپ، میں ایک بنیاد ہے ماڈل، مجھے لگتا ہے کہ عام طور پر صرف "بیس ماڈل" کہتے ہیں کہ میٹا کلاس ہے، اور یہ DB کے برابر ڈیٹابیس کا تعین کرتا ہے. اور میرے بعد ماڈل کے اس وقت کے تمام کہ بیس کلاس سے وارث ہوں گے. اور پھر میں فکر کرنے کی ضرورت نہیں ہے میٹا کلاس قیام کے بارے میں. لہذا، یہ اصل میں ہو جاتا ہے جب ایک SQL بیان میں نیچے مرتب، اس کے نیچے اس گندی چیز کی طرح لگتا ہے یہاں، "، میز طالب علم کی شناخت عددی بنائیں "جو کچھ بھی. اور، میں نے یہ چھوٹا ہے لگتا ہے کہ، یہیں اس SQL استفسار، لیکن آپ کو یہاں اس کلاس میں نظر آتے ہیں تو آپ کو ہو رہا ہے بالکل وہی جو دیکھ سکتے ہیں. آپ کے کھیتوں سے کس قسم کے دیکھ سکتے ہیں وہ کہا جاتا ہے کر رہے ہیں، وہاں ہو، اور تو، مجھے لگتا ہے کہ اس ازگر کوڈ کو دیکھ کر کے مقابلے میں ایک بہت زیادہ پڑھنے کے قابل ہے اس SQL استفسار لکھنے کی کوشش کر. تو، کرنے کے لئے اصل میں ڈیٹا بیس کا استعمال، ہم ازگر کے اندر اس سے رابطہ قائم کرنے کے لئے ہے. لہذا، میں عام طور پر کہا جاتا ہے ایک تقریب لکھیں دو چیزیں کرتا ہے initialize_db. یہ ڈیٹا بیس میں لیتا ہے اعتراض DB اور یہ صرف کھولتا ہے جس میں، اس کے لئے جوڑتا ہے ڈیٹا بیس کے لئے سیکشن. آپ صرف اگرچہ چلا رہے ہیں اپنے مقامی مشین پر ویب سائٹ، اس میں فکر کرنے کی ایک سپر بڑا سودا نہیں ہے منسلک کرنے اور کاٹ کے بارے میں، لیکن آپ چلا رہے ہیں تو ایک ویب سائٹ پر، آپ اس بات کا یقین جب ایک صارف، بنانے کے لئے چاہتے ہیں وہ باہر بند جب، یہ کرنے کے لئے جوڑتا ہے ویب سائٹ، وہ تو آپ کو منقطع جڑے ہوئے لوگوں کے ایک گروپ نہیں ہے آپ کے ڈیٹا بیس کے لئے تمام ایک بار میں. اور پھر، جب آپ ڈیٹا بیس سے رابطہ قائم، آپ، db.create_tables فون کرنا چاہتے ہیں اور آپ چاہتے ہیں کے لئے ماڈلز فہرست ٹیبل بنانے کے لئے. تو یہاں، میں صرف کرنا چاہتے ہیں اس طالب علم کے لئے پیدا. اور پھر، اہم کیا ہے، کرنے کے لئے ہے محفوظ = سچ سب سے زیادہ وقت کی وضاحت. تو کیا اس بیان کوشش کروں گا، یہ ہے کہ کے لئے میزیں تخلیق طالب علم ماڈل، لیکن صرف کہ میز نہیں ہے تو پہلے سے ہی پیدا کیا گیا. یہی وجہ ہے کہ محفوظ کی وضاحت ہے. تو یہ ادلیکھت نہیں رکھا جائے اپنے موجودہ ٹیبل، یہ صرف ایک نئے پیدا کر دے گا میز ایک نہیں ہے تو. تو، آپ کو صرف پیدا کر سکتا ہے میزیں بار SQL استعمال. اور پھر ڈیٹا بیس ہے کہ بیٹھے ہیں وہاں، اور پھر ہر بار سے رابطہ قائم، لیکن یہ صرف عام طور پر اچھی بات ہے اس create_tables کال میں ڈال دیا، لہذا، کہ تم نے کبھی حذف اگر آپ ڈیٹا بیس جب آپ کو آپ کی ویب چلانے اپلی کیشن پھر، یہ آرام کریں گے. تو، صرف محفوظ ہے کہ بات کو یقینی بنانا سچ ہو کرنے کے لئے مخصوص ہے، یا آپ کو صرف آپ کے ڈیٹا کو مل جائے گا ہر وقت clobbered کیا ہو. اور پھر، آپ کو صرف کال کر سکتے ہیں قائم کرنے کے لئے initialize_db ایک کنکشن، اور تخلیق میزیں اگر ضروری ہو تو. تو، سب سے زیادہ عام بات آپ کرنا چاہتے ہیں کریں گے کہ، یا سب سے زیادہ عام چیزوں میں سے ایک، اصل میں چیزیں کرنے کے لئے ہے آپ کے ڈیٹا بیس میں. اور اس طرح، بجائے ہونے میں ایک ڈالیں لکھنا سب کے ساتھ بیان اقدار کی وضاحت، آپ اصل میں کال کر سکتے ہیں طالب علم کلاس پر تقریب. تو، آپ کو ایک کلاس جب تخلیق کہ، ماڈل سے اورنکاح اس طریقہ تخلیق ہے. لہذا، آپ کو کلاس name.create کرتے، اور آپ کو پیرامیٹرز کی وضاحت آپ میں منتقل کرنے کے لئے چاہتے ہیں کہ. لہذا، میں نے کچھ طالب علموں کو شامل کرنا چاہتے ہیں ہماری CS50 گریڈ کتاب مثال کے طور پر، میں جو ایک ہے، ڈیوڈ میں ڈال دیں گے بہت اچھا گریڈ، وہ ایک 95 ہے. اور اپنے آپ کو، جو نہیں کر رہی اتنی اچھی طرح سے CS50 میں، میں نے ایک 50 ہے. اور اس طرح، اچھی بات یہ ہے کے بارے میں اس تخلیق کیا تقریب کرتا ہے، یہ مثال کے طور پر واپس، یا یہ ہے کہ قطار، اس ٹیبل کے اندر پیدا کیا ہے کہ، اور تو آپ کو ایک میں ذخیرہ متغیر، اور بعد میں اس کے ساتھ کام. آپ کے ارد گرد تبدیل کر سکتے ہیں میں ایک مثال کے طور پر دکھائیں گے. میں نے نہیں کیا ہے کہ نوٹس ID کی وضاحت کرنے کے لئے ہے، یہ ہے کے بعد کی وجہ سے PrimaryKeyField، یہ خود کار طریقے گے آپ اس کی وضاحت نہیں کرتے تو یہ اضافہ. اور، اصل میں، آپ کو شاید اس کی وضاحت نہیں کرنا چاہئے، آپ نے غلطی سے ہو سکتا ہے کیونکہ کسی اور کی شناخت clobber. اور آپ کو بنانے کے لئے چاہتے ہیں یہ منفرد ہے اس بات کو یقینی. تو، اصل میں، سب سے زیادہ آپ کرنا چاہتے ہیں عام بات، شاید باہر منتخب کیا جاتا ہے آپ کو ایک بار ڈیٹا بیس وہاں میں معلومات کا ایک بہت کچھ ہے. اور اس طرح، آپ کو سب کچھ حاصل کرنا چاہتے ہیں، تو منتخب سٹار کے برابر طالب علموں کو بیان سے، یہ صرف student.select ہو جائے گا. اور ایک صف ہے جو آپ کو واپس دے گا طالب علم کی اس میں اشیاء کے ساتھ آپ iterate کہ آپ چاہتے ہیں. تم اس سے باہر چیزوں کو حاصل کر سکتے ہیں. اور وقت کے سب سے زیادہ، آپ صرف منتخب کرنا چاہتے ہیں نہیں، آپ اصل میں کچھ وضاحت کرنا چاہتے ہیں. اور اس طرح، آپ کو چین کر سکتے ہیں ساتھ مل کر ان تقریب کالز، کس طرح آپ کو چین جیسے SQL میں ایک دوسرے کے ساتھ بیانات. تو آپ) (student.select کر سکتے ہیں. جہاں اس مثال میں. اور پھر، آپ کر سکتے ہیں ، شرائط کی وضاحت صرف عام ازگر کا استعمال Booleans کے چیزوں کی جانچ پڑتال کرنے کے لئے. لہذا، اس معاملے میں، آپ چاہتے ہیں ، آپ کو منتخب کر رہے ہیں کیا محدود student.grade 50 کے برابر ہے جہاں، اور student.name، عزرا کے برابر ہے تو یہ صرف اس سے باہر ملے گا. اور واقعی، ایک نوٹس ٹھیک ٹھیک بات یہاں ہے آپ کی وضاحت کرنا چاہتے ہیں تو، کہ ایک اور / اور یا ایک یا / یا، ازگر میں، آپ عام طور پر استعمال کریں گے، میں، لفظ "اور" اصل میں لگتا ہے لیکن یہاں آپ کو ایک ایمپرسینڈ استعمال، جو عام طور پر ایک bitwise آپریٹر ہے، لیکن اس خاص معاملے میں، صرف طریقہ Peewee کی یہ کرتا ہے، آپ واحد استعمال ایمپرسینڈ وضاحت "اور." کرنے کے لئے کہ کچھ ہے کہ میں نے بہت کچھ ملا، لیکن یہ نہیں آیا ہے عملی طور پر اس سے زیادہ. اور پھر، ایک بار آپ کے تمام ہے ڈیٹا بیس کے باہر طلباء، تم نے کیا کیا ہے ایک بار آپ کے منتخب کردہ ہیں اور آپ کے لباس یا جو کچھ بھی، آپ کو ایک جعلی foreach لوپ استعمال کر سکتے ہیں، صرف، ازگر میں معمول کی طرح iterator کے کسی بھی قسم کے ساتھ یا سرنی کے کسی بھی قسم کے ساتھ. تو آپ کے لئے، کر سکتے ہیں student.select میں (). جہاں وہ چاہتا (Student.grade <75)، اور تو اس کی مرضی کے دوبارہ ٹیبل میں ہر طالب علم پر iterate جن گریڈ، سے کم 75 ہے جس میں اس صورت میں، اب بھی صرف مجھ سے ہے. اور پھر آپ کے اندر اندر کچھ کر سکتا ہے اس لوپ، کی طرح ایک ای میل بھیجیں اور مجھے اصل میں بتا میرا مسئلہ سیٹ میں تبدیل. لہذا، ایک اور بات آپ کر سکتے ہیں کیا، یہ واقعی آسان ہے ٹیبل کے اندر قطار کو اپ ڈیٹ کرنے. تو، یہاں واپس یاد ہے، آپ میں داخل جب، میں تھا اس قدر لیا student.create کی طرف سے واپس، اور میں عزرا بلایا نام کرنے کے لئے یہ تفویض. اور تو اب، آپ کو تبدیل کر سکتے ہیں اس مثال کے اندر اندر اقدار، جیسا تم کروگی ایک ازگر میں عام طبقے. تو آپ کو مقرر کر سکتے ہیں ezra.grade = 95 اور کہ مقامی کاپی کو اپ ڈیٹ کرے گا، لیکن اگر آپ واقعی کرنا چاہتے ہیں تو ڈیٹا بیس کے لئے اس تبدیلی کا ارتکاب، آپ، ezra.save بلانا پڑے لہذا آپ کو بچائیں طریقہ کہا جاتا مثال کے طور پر. اور تو اب، میں نے کامیابی سے تبدیل کر دیا ہے ڈیٹا بیس کے اندر اندر اپنے گریڈ. تو، اس کے بعد کی مجھے پکڑے کہتے ہیں کہ ڈیٹا بیس کے اندر اندر اپنے گریڈ تبدیل. پروفیسر مالن شاید جا رہا ہے کلاس سے مجھ کو حذف کرنا چاہتے ہیں کے لئے، اور تو آپ کو کال کر سکتے ہیں .delete صرف اس بات پر مثال کے طور پر طریقہ. اگر تم چاہتے تھے تو، جانے کے لئے واپس اس لوپ میں یہاں، اور اصل میں، اس کی بجائے ای میلز تمام بھیجنے کے طلباء جن کی گریڈ کم ہے 75 کے مقابلے میں، آپ ان کو خارج کرنا چاہتا تھا، اس لوپ کے اندر اندر آپ کر سکتے ہیں s.delete مثال کال. اور آپ کیا کرنا چاہتے آخری چیز، آپ کو ایک کنکشن قائم ہے جب، اور آپ کو آپ کے کام کے ساتھ کیا کر رہے ہیں آپ، db.close فون کرنا چاہتے ہیں جہاں DB ڈیٹا بیس ہے کہ ہے ہم سے پہلے تھا کہ اعتراض. اور آپ کو اس بات کو یقینی بنانا چاہتے ہیں ہر چیز کا بند ہو جاتا ہے. ٹھنڈا. تو اب، میں ایک مثال کی درخواست ہے. میں قسم کی صرف سب سے پہلے کر دیا ہے تاکہ کسی بھی لائیو کوڈنگ نہیں ہو گا غلطیوں، لیکن ہم کے ذریعے چل سکتا ہے یہ اور آپ فلاسک ڈال دیں گے کہ کس طرح دیکھنے اور ایک دوسرے کے Peewee کی، اور ایک سادہ اے پی پی بنانے. میں CS50 شیخی یہ کہتے ہیں، اور یہ ایک سادہ بلاگ پلیٹ فارم کی طرح. تو، سب سے پہلے، میں نے اسے چلاتے گا اور ، اس طرح لگ رہا ہے ظاہر اور پھر ہم نے کوڈ میں زیادہ دیکھ سکتے ہیں. ٹھیک ہے، تو صرف اس کو چلانے دو. ، میں یہ ٹھنڈا بنا دیں گے تھوڑا سا چھوٹا. یہ صرف اس وجہ سے، بہت خوبصورت ہے میں، سی ایس ایس کی ایک بہت بنانے نہیں کیا لیکن یہ کیا کرتا ہے یہ ہے، ہے بلاگ کے خطوط میں اس ڈیٹا بیس، اور اس کے تمام کے ذریعے جاتا ہے ان، اور یہ ان کے ظاہر کرے گا سب سے زیادہ حال ہی میں کی ترتیب میں صفحہ اول پر. اور اس طرح یہ صرف کچھ خطوط ہیں میں ڈیٹا بیس میں محفوظ کر لیا تھا کہ. ہم نے ایک نئے پیدا کرنے کے لئے چاہتے ہیں تو پوسٹ، ہم نے ایک نئی پوسٹ شامل کرنے کے لئے جا سکتے ہیں اور ہم کا عنوان درج کر سکتے ہیں پوسٹ کریں گے، کچھ کی طرح، CS50 سیمینار. واہ، واقعی سیمینار سے لطف اندوز. ٹھنڈا. پھر آپ کو پیغام دبائیں، اور یہ گھر کے صفحے پر آپ کو واپس ری ڈائریکٹ، اور پھر آپ دیکھیں گے کہ تازہ ترین مراسلہ شامل کر دی گئی. اور ہم اب بھی وہاں تمام لوگ ہیں. تو اب، کے تمام کے ذریعے قدم دو کوڈ اور اس لاگو کیا جاتا ہے کہ کس طرح دیکھنے. لہذا، میں نے کی ہے کہ سب سے پہلی چیز لگتا ہے ، اصل میں ماڈل ہے پر ایک نظر لے. وقت کی ایک بہت، جب تم سے کچھ کے ڈیزائن کر رہے ہیں، آپ کو کس طرح کے بارے میں سب سے پہلے لگتا کرنا چاہتے ہیں آپ، آپ کے ڈیٹا کی نمائندگی کرنے جا رہے ہیں اور پھر اس کے ارد گرد چیزوں ڈیزائن، تو ہے کہ سب کچھ سمجھ میں آتا ہے. اور یہ کہ میں کس طرح اصل میں ہے میں اس بنا رہی تھی جب، یہ کیا میں، بیٹھ گیا اور سوچا میں نے ایک پوسٹ میں کیا چاہتے ہو. تو، یہاں، ہم ایک ہی ساخت ہے میں نے پہلے ذکر کیا گیا ہے کہ، ہم DB = Sqldatabase (posts.db ') کرتے ہیں جہاں. حقیقت میں، آپ کو شاید نہیں کرنا چاہتے اپنے نام کی ڈیٹا بیس میں مشکل کوڈ. یہ شاید ایک پیرامیٹر ہونا چاہئے کہ شاید کہیں محفوظ ہے ایک تشکیل فائل میں، لیکن میں اس طرح ایک چھوٹی سی مثال، اس میں مشکل کوڈ کے لئے ٹھیک ہے. تو اب، ہم اس پوسٹ کلاس ہے، جس کی بنیاد ماڈل سے اورنکاح. اور یہ، ایک بار پھر، ہے ID = PrimaryKeyField. اصل میں، آپ وضاحت نہیں کرتے تو، میں واقعی میں اس سے چھٹکارا مل گیا تو، تو ہم کا خیال رکھیں گے Peewee کی خود کار طریقے سے کی شناخت میدان پیدا، اور یہ خود بخود ہو جائے گا یہ ایک PrimaryKey، بنانے کے لئے جو میں، کیونکہ عام طور پر، بہت اچھا لگتا ہے کہ، آپ چاہتے ہیں کچھ ہے لیکن میں خاص طور پر میں ڈال کرنا چاہتے ہیں، صرف اس میں یہ وہاں میں ہے یاد رکھیں کہ. لیکن آپ کو اس کی وضاحت نہیں کرتے تو، خود کار طریقے سے ہو جائے گا. تو، میں ایک تاریخ ہے جس ایک DateTimeField ہے، اور تمام ان مختلف شعبوں، اگر آپ Peewee کی دستاویزات پر نظر آتے ہیں، یہ آپ کو مختلف کی ایک فہرست دے گا آپ استعمال کر سکتے ہیں شعبوں کی اقسام. سب سے زیادہ حصہ کے لئے، یہ قیاس ہے آپ SQL میں دیکھیں گے کیا. تو ایک CharField ایک، وہاں ہے VarCharFields، TextFields، بہت دیر تک جو ایک بلاگ پوسٹ کی طرح نصوص، ممکنہ طور پر، DateTimeFields، DoubleFields، FloatFields، اس طرح تمام چیزیں. اور آپ کو دوسرے دلائل میں منتقل کر سکتے ہیں اس کے لئے، میں یہاں وضاحت نہیں کی تھی جس. کہو، مثال کے طور پر، آپ کو نہیں کرنا چاہتا تھا دو خطوط ایک ہی عنوان ہے کرنے کی اجازت، آپ کی وضاحت کر سکتے ہیں یہ سچ ہے کہ منفرد کی طرح کچھ =، اور اس کے لئے صرف ایک اضافی پیرامیٹر ہے یہ نیچے سے آگاہ کریں کہ جب میدان SQL میں، اس کی وضاحت کریں گے یہ ہے کہ منفرد ہونا. تم نے بھی کچھ اس طرح کی وضاحت کر سکتے ہیں شہوت انگیز null نہیں اور تمام دوسری چیزوں آپ عام طور پر ایس کیو ایل میں کیا. لہذا، یہ ایک بہت آسان ہے تاریخ ہے کہ ماڈل. DateTimeField اندر، یہاں نوٹس، میں پہلے سے طے شدہ ہے مخصوص. میں بننا یہ مخصوص ، datetime.datetime.now کیونکہ راستے سے کہ اس کا اندازہ ہو جاتا ہے، یہ اصل میں تشخیص datetime.now جب یہ ڈیٹا بیس میں داخل ہو جاتا ہے. میں پڑے گا لگتا ہے کہ اس کی جانچ پڑتال دوگنا کرنے، لیکن آپ کو، کچھ اس طرح کیا تو یہ اصل میں، ایک بار اس کا اندازہ کریں گے اور پھر تریخ ویلہ ہمیشہ ہی ہو جائے گا. لہذا، آپ کو کچھ کر رہے ہیں صرف اگر datetimes ساتھ، ڈبل چیک یہ کب کا جائزہ ہے کہ اصل اور داخل، یا ہو جاتا ہے آپ الجھن میں ہو سکتا. عنوان صرف ایک ہے CharField، وہاں جس میں آپ کو منتقل کر سکتے ہیں دلائل ہیں وضاحت بالکل کتنی دیر تک میں اسے بننا چاہتا ہوں، لیکن یہاں، یہ واقعی کوئی فرق نہیں تھا. اور متن کی جا رہی ہے پوری پوسٹ کا متن، اور یہ کہ ایک ہونے جا رہا ہے آپ چاہتے ہیں صرف اس وجہ سے متنی قطعہ یہ ایک بہت طویل سٹرنگ کرنے کی اجازت. پھر ہم اس میٹا ہے subclass کہ صرف ہم ڈیٹا بیس چاہتے ہیں کہ وضاحت کرتا ہے یہ اصل میں کھول دیا جاتا ہے جہاں ہم یہاں ہے کہ DB اعتراض ہونا. اور آخری بات ہم نے یہاں، صرف اس تقریب ہے ہم جا رہے ہیں ہمارے مرکزی اپلی کیشن کی طرف سے استعمال سے رابطہ قائم کرنے کے ڈیٹا بیس کی ابتدا کرنے یہ، اور اس کے بعد پوسٹ ٹیبل بنانے کے لئے. اب، اہم اے پی پی خود کو دیکھو. تو اس میں سے ایک ہے بہت والوں کے مقابلے میں طویل بٹ ہم نے پہلے دیکھا ہے کہ، لیکن امید ہے کہ وہ بھی برا نہیں. تو، مجھے اس سے باہر میں توسیع دیں. ٹھیک ہے. تو، محسوس اور سب سے اوپر میں درآمد دوسری چیزوں کی ایک پوری چڑھانے فلاسک سے ہم نہیں ہے کہ واقعی اس سے پہلے دیکھا. اور امید ہے کہ، ہم کے ذریعے جا سکتے ہیں ان میں سے ایک ایک کی طرف سے ہر ایک اور کے بارے میں ایک چھوٹا سا زیادہ بات ان، مثال کے طور پر کی طرف سے حل. لہذا، ہم، فلاسک ہے اور render_template، جو ہم پہلے دیکھا ہے اس درخواست اعتراض، ہم کس طرح کی طرف دیکھو جب تک آ جائے گا جس میں اصل میں دکھا رہا تھا کہ فارم کام کرتا ہے. آپ کو ری ڈائریکٹ اجازت دیتا ہے جس، لوٹایا گیا واپس بنائیں نئی ​​پوسٹ کی طرف سے اصل مرکزی صفحے پر واپس، اور اس کے بعد آپ کی اجازت دیتا ہے کہ کچھ ہے جو یو آر ایل، پر جہاں پتہ ویب سائٹ ایک خاص صفحہ ہے. تو، اگلے مجھے کیا کرنا ہے بات، میں درآمد ہے ماڈل سے تمام معلومات ہم صرف دیکھ رہے تھے کہ فائلوں. اور، جی ہاں. تو، نئے کچھ آتا ہے آپ کے ساتھ نمٹنے کر رہے ہیں جب تک، خاص طور پر ڈیٹا بیس، آپ کی وضاحت کر سکتے ہیں ہے پہلے بلایا جاتا ہے کہ ایک تقریب ہو جاتا ہے کہ ہر درخواست، اور تقریب اس کا استعمال، ہر درخواست کے بعد بلایا تقریب ڈیکوریٹر app.before درخواست. اور اس طرح یہ قتل ہو جائے گا جہاں کہیں بھی اس تقریب ہے. یہ ہو کی ضرورت نہیں ہے درخواست سے پہلے کہا جاتا ہے، لیکن عام طور پر ہے کہ کچھ ہے اسے فون کرنے سمجھدار. آپ کو کسی بھی تقریب کی وضاحت کر سکتے ہیں تم وہاں بلایا حاصل کرنا چاہتے ہیں تو میں نے اس initialize_db مخصوص ہم ماڈل میں واپس تھا کہ تقریب فائل، تو ہر درخواست کے پہلے، آپ ڈیٹا بیس سے رابطہ قائم کرنا چاہتے ہیں. دو مختلف ہیں طریقوں سے آپ یہ کر سکتے ہیں. تمapp کر سکتے ہیں.، میں یہ after_request ہے یقین. اور کے درمیان فرق after_request اور teardown_request، after_request صرف ہو جائے گا ہے درخواست اصل میں درست تھا تو. اور اس طرح، صرف اس صورت میں درخواست، کامیاب رہا ، کچھ بھی نہیں غلط ہو گیا تو لیکن teardown_request ایک کامیاب ہونے کی صورت میں ہوتا ہے درخواست، یا ایک خرابی کی صورت میں. لہذا، عام طور پر، آپ چاہتے ہیں teardown_request استعمال کرنے کے لئے، آپ کرنا چاہتے ہیں جب تک کہ خاص طور پر کچھ مختلف، ایک غلطی کی صورت میں. لیکن صرف ڈیٹا بیس بند کرنے کے لئے، ، یہ کامیاب یا یہ ناکام ہو جاتا ہے، چاہے وہ ہم آپ کو منقطع کرنے کے لئے چاہتے ہیں ڈیٹا بیس سے. تو یہ db.close، کہا جاتا ہے DB اعتراض پر. teardown_request کہ نوٹس ایک رعایت میں لیتا ہے. اصل میں وہاں تھا تو آپ کو چیک نہیں کر سکتے ہیں ایک خرابی یہ، کو بند کیا گیا تھا جب لیکن یہاں، امید ہے کہ، وہاں غلطیوں کی ایک پوری بہت نہیں ہیں، تو ہم صرف کی طرح ہے کہ نظر انداز کر رہے ہیں. ٹھیک ہے، اور اس کے باقی بھی برا نہیں ہے. لہذا، ہم نے گھر کے صفحے پر جانے کے جب، ہم اس home.html سانچہ مہیا کہ کھل جائے گا. پاس پوسٹ میں ہے ، اور کیا اس کے برابر ، ہم اس پوسٹ ہے یاد ہے ماڈل، تو ہم تمام پیغامات کو منتخب اور اس کے بعد آپ کر سکتے ہیں ایک اور بات، آپ کہاں شق وضاحت کر سکتے ہیں آپ کو ایک وضاحت کر سکتے ہیں کی طرف سے آرڈر، اور تو ہم لے تمام پوسٹس کہ پھر منتخب ملتا ہے، اور ہم کی طرف سے ان کا حکم post.date.descending. اور اس کی وضاحت کریں گے، جب وہ اصل میں، باہر آنے سب سے زیادہ حال ہی میں ایک بہت پہلے ہو جائے گا. اور پھر، ہم میں منتقل home.html سانچے، تو اصل میں کھول دو واقعی میں فوری کہ سانچہ، اور یہ کہ کام کر رہا ہے کہ کس طرح پر ایک نظر ڈالیں. اور یہ عظیم HTML نہیں ہے، لیکن امید ہے کہ ہم ازگر پر توجہ مرکوز کر سکتے. تو نیا شامل کرنے کے لئے ایک لنک ہے پوسٹ، اور تو اس راستے کی وضاحت کرتا ہے فلاسک کے اندر ہے کہ ہم یہیں ہے جس کی وضاحت. یہ نئی پوسٹ راستہ ہے، اور ہم یہاں ہے کہ وضاحت. اور تو ہے کہ اس کے بعد جائیں گے کہ ایک لنک ہے فلاسک سرور کے اندر اندر اس راستے پر. زیادہ دلچسپ بات یہ ہے یہاں لوپ کے لئے یہ ہے. تو ہم اس کی وضاحت پوسٹ پیرامیٹر جو میں منظور کیا گیا تھا render_template تقریب، پوسٹ میں ہر عہدے کے لئے میں منظور ہو جاتا ہے کہ اعتراض. ہم باہر پرنٹ کرنے کے لئے چاہتے ہیں پوسٹ کا عنوان، H1 میں، اور پھر نیچے، ہم باہر پرنٹ کرنے کے لئے چاہتے ہیں ایک پیراگراف کے اندر اندر پوسٹ متن. اور یہاں، ہم اصل میں کر سکتے ہیں ایک ازگر کی تقریب کہتے ہیں، تو ہم strftime کال کر سکتے ہیں، ST-RF-وقت، اور آپ کی شکل سٹرنگ میں منتقل کر سکتے ہیں میں باہر کے اعداد و شمار کو پرنٹ کرنے کے لئے چاہتے ہیں کہ. تو یہ آپ کر سکتے ہیں بہت اچھا ہے ہے اصل میں اس ازگر تقریب کہتے ہیں یہاں اندر سے. تم پر فارمیٹنگ کرنا پڑے نہیں کنٹرولر کی طرف، واقعی کیونکہ، تاریخ فارمیٹنگ کچھ ہے کہ آپ لنک کے اندر اندر نمٹنے کے لئے چاہتے. یہ فیصد تمام چیزیں سپر اہم نہیں ہے. آپ کو دستاویزات کو نظر آتے ہیں ازگر میں strftime تقریب کے لئے، یہ ان تمام کی وضاحت کرتا ہے چیزیں، لیکن ہے کہ کس طرح، جب ہم تلاش کر رہے تھے یہاں ہوم پیج پر، یہ ایک اچھا کے ساتھ اس فارمیٹس تاریخ، اور اس کی وضاحت کرتا ہے AM یا PM، لیکن عام طور پر، اگر ہم یہاں اس کی ضرورت نہیں تھی، آپ کو شاید کچھ ردی کی ٹوکری مل جائے گا بہت اچھا نظر نہیں کیا اس تاریخ. اور پھر ہم وضاحت post.text، میں کر سکتے ہیں اور ایک جوڑے کے ڈال دیا ہے لائن صرف، یہاں ٹوٹ جاتا ہے ہر عہدے کے درمیان کچھ جگہوں ڈال کرنے کے لئے. تو، میں سب سے زیادہ اہم لگتا اس مثال میں بات، آپ کو لوپ کے لئے اس کا استعمال کر سکتے ہیں ہے. اور اس کے مطابق ہے چیزیں آپ کو پی ایچ پی میں ایسا کر سکتے ہیں. آپ کے ذریعے iterate کر سکتے ہیں سب کچھ، میں منظور ہو جاتا ہے اور تو، بجائے ہونے کے کرنا کاپی / پیسٹ کریں، کاپی /، تمام ایچ ٹی ایم ایل پیسٹ آپ کو صرف ایک بار پھر یہ لکھنے کے لئے ہے، اور آپ کے خطوط کی تمام iterate کر سکتے ہیں. اور یہ کچھ ہے آپ چاہتے ہیں کہ عام آپ کو ڈیٹا کی ایک بہت ہے جب، ایسا کرنے کے لئے، ، کہ آپ کے اعداد و شمار میں ہر چیز کے لئے ہے آپ کو ایک اسی طرح کی بات کرنا چاہتا ہوں. اور پھر، صرف، یاد ہے جب تم نے اس واضح طور پر کچھ باہر پرنٹ کرنے کے لئے چاہتے ہیں ایچ ٹی ایم ایل میں، آپ کو استعمال کرتے ہیں یہاں ڈبل منحنی خطوط وحدانی، لیکن اس کے بعد آپ کی وضاحت کرنا چاہتے ہیں جب ایک حالت کے بارے میں کچھ معلومات، یا کے بارے میں ایک لوپ کے لئے، آپ فیصد بریکٹ کا استعمال کریں. تو، ازگر میں واپس جانے کوڈ، تاکہ وضاحت کرتا ہے کیا اہم میں کیا ہو رہا ہے راستے، ہم وہاں جاتے وقت، یہ صرف دکھاتا ہے تمام خطوط، لیکن پھر سوال ، کس طرح ہم اصل میں حاصل کرتے ہیں ہے ڈیٹا بیس، میں پیغامات جس تھوڑا سا زیادہ دلچسپ ہے. تو، جب آپ نئے پر کلک کریں ہم یہاں دیکھا جس میں پوسٹ لنک،، اس فارم پر آپ کو باز ہدایات. اور اس کے لئے صرف ایک سادہ فون ہے render_template تقریب، جو اس کے بعد ایچ ٹی ایم ایل کی شکل میں نئے پیغام میں گزر جاتا ہے. تو اس میں ایک نظر ڈالیں. تو یہ ایک بہت آسان ہے. یہ ایک سادہ HTML فارم، ہے جس میں تھوڑا سا واقف نظر آئے گا، CS50 خزانہ میں فارم کی بنیاد پر. اور اس طرح، ہم، یہاں کارروائی کی وضاحت. اور یہاں آپ کو، کام کر رہے ہیں تو پی ایچ پی کے ساتھ، عام طور پر، یہ کی طرح کچھ ہو جائے گا، create.PHP، لیکن یہاں ہم اصل میں ایک راستہ کی وضاحت فلاسک سرور کے اندر اندر. اور اس طرح، اس راستے مساوی تخلیق راستے پر ہم یہاں ہے جو ہم ایک سیکنڈ میں میں چلے جائیں گے. اور اس طرح، ہم اس کی وضاحت یہ ایک پوسٹ طریقہ ہے ہم بھیجنے کے لئے چاہتے ہیں کیونکہ اس فارم کے اعداد و شمار، اور عام طور پر آپ کو ایک فارم سے اعداد و شمار بھیج رہے ہیں جب، آپ ایک پوسٹ کی درخواست استعمال کرنے کے لئے چاہتے ہو سکتا ہے، آپ کو ختم نہیں صرف اتنا اس بڑے، unwieldy تھا URL کے ساتھ. لیکن آپ کو ایک حاصل کی درخواست استعمال کر سکتے ہیں، اور، متغیر روٹنگ کے ساتھ اس میں منتقل لیکن فارم کے لئے، یہ اچھا ہے یہاں ایک پوسٹ کی درخواست کرنے کے لئے. اور تو، صرف آپ کی طرح ایچ ٹی ایم ایل اور پی ایچ پی کے ساتھ کیا جائے گا، آپ کو اس متن آدانوں وضاحت کر سکتے ہیں، اور آپ کو ان کے نام کی وضاحت کر سکتے ہیں، اور یہ کہ منظور ہو جائے گا کہ نام ہے فلاسک اندر درخواست اعتراض میں. اور پھر ہم ایک جمع ہے کے بٹن پر پوسٹ کا کہنا ہے کہ. اور یہاں، پوسٹ کا نام ہے بٹن، یہ ایک بلاگ پوسٹ ہے کیونکہ، لیکن یہاں، پوسٹ کی درخواست کے طریقہ کار ہے. تو وہی لفظ ہیں لیکن اصل میں غیر متعلقہ. جی ہاں ازگر کوڈ کو واپس جا رہے ہیں، ہم طریقہ تخلیق کہا جاتا ہے جب، یہاں محسوس کہ آپ کر سکتے ہیں اصل راستے کے اندر اندر کی وضاحت درخواست کے طریقوں کو قبول کرنا چاہتے ہیں، اور تو یہاں، میں سمجھتا ہوں کہ وضاحت صرف ایک پوسٹ طریقہ کار کو قبول کرنا چاہتے ہیں. لہذا، میں نے اصل میں اس صفحے کا دورہ کرنے کی کوشش کریں تو براہ راست، ایک حاصل کی درخواست کا استعمال کرتے ہوئے کیا جاتا ہے جس، یہ "طریقہ کی اجازت نہیں." ​​مجھے بتا دیں گے اور اس طرح، آپ کو، قسم کی طرح صفحات ہیں میں صرف ہوں جو اس تخلیق صفحے، واقعی ایک طریقہ کے طور پر استعمال کر رہے ہیں فارم جمع کرنے کے لئے، آپ نہیں ہے کہ وضاحت کر سکتے ہیں لوگوں کو وہاں جانے کے لئے کے قابل ہونا چاہتے براہ راست حاصل کی درخواست کے ذریعے، یا آپ چاہتے ہیں نہیں کیا تو، کسی وجہ کے لئے، ایک پوسٹ کی درخواست، آپ کو صرف، یہاں کی وضاحت کر سکتے ہیں لیکن اس مثال میں، ہم صرف پوسٹ کی درخواست باہر جانا چاہتے ہیں. تو، create_post کہا جاتا ہے جب، جب ہم پوسٹ کی درخواست کے ذریعے اس دورے آپ کو ایک خاص طور پر جانے جب راستے، اس درخواست اعتراض ہے، اور ہم نے درآمد کرنے کے لئے تھا سب سے اوپر کی درخواستوں، لیکن اس کی درخواست ہے میں منظور ہو جاتا ہے کہ اعتراض، اور آپ کو فارم کے اعداد و شمار تک رسائی حاصل کر سکتے ہیں، خود کار طریقے سے بھری ہوئی ہو جائے گا آپ کو ایک فارم سے ایک درخواست بھیج جب. اور پھر، میں کیا خیال ہے ، بہت ٹھنڈا ہے فارم اعتراض منظور کرنے کے لئے کہ میں، صرف ایک ازگر لغت ہے کہ آپ کو تو یہاں access-- تو،، دو پر مشتمل مجھے صرف، اس کے اگلے ایچ ٹی ایم ایل ھیںچو تو آپ کو اس میں ہو سکتا ہے ایک حوالہ، جی ہاں، تو کے طور پر ہم یہاں وضاحت ہے کہ نام مختلف شعبوں کے لئے، تو عنوان اور متن، ہم تو صرف یہاں ان کا استعمال کرتے ہیں فارم کا ڈیٹا میں سوچکانکوں کے طور پر. تو اس سپر آسان ہے. تو پھر ہم، post.create کہتے ہیں تخلیق اور خود کار طریقے سے داخل کریں گے ڈیٹا بیس میں اس نئے عہدے اعتراض. اور میں اس تقریب تخلیق لگتا ہے یہاں کس طرح کی ایک بہت ٹھنڈی مثال ہے طاقتور فلاسک اور، اس کے ساتھ کام کر رہا ہے آپ کچھ کر رہے تھے کیونکہ اگر پی ایچ پی میں، آپ کے لئے ہو سکتا ہے توثیق کے ایک بہت کرتے ہیں، آپ کو تو کرنا پڑے گا ایک ڈیٹا بیس کنکشن قائم، آپ کو تو کرنا پڑے گا SQL سوال عملدرآمد، لیکن یہاں ہم صرف یہ اچھا ہے post.create، جس کے بعد ہم کر سکتے ہیں صرف معلومات کو حاصل درخواست اعتراض کی، اور پھر ایک نئی میں منتقل ہم پیدا کر رہے ہیں کہ اس کے بعد. اور، آخری کے بعد ہم کرنا چاہتے ہیں بات، ری ڈائریکٹ کرنے کے لئے ہے گھر میں صارف کو واپس. اور اس طرح ہم اس کا استعمال فلاسک تقریب ری ڈائریکٹ. اور کچھ ہم نے دیکھا نہیں تھا کہ پہلے، اس یو آر ایل تقریب تھی. تو تقریب کے لئے یو آر ایل کی اجازت دیتا ہے آپ اصل نام میں منتقل آپ ازگر کوڈ میں ایک تقریب کے، بلکہ خاص راستے سے کہ یہ ہے. تو میں صرف کے طور پر آسانی کر سکتے ہیں سلیش کے لئے ایک صارف ری ڈائریکٹ، جو اسے گھر واپس بھیج دیں، لیکن کرے گا تقریب اچھا ہے کے لئے یو آر ایل کا استعمال کرتے ہوئے، آپ کو تبدیل کیونکہ اگر چیزیں ہیں جہاں مقام، تو میں تبدیل کہتے ہیں کہ گھر، بجائے / گھر میں ہونا یہ اب بھی اس کے بعد واپس آ جائیں گے / گھر، اصل میں جاتا ہے اور اپ لگتا ہے کیونکہ تقریب کے نام، اور یہ تم اس کے لئے یو آر ایل کو واپس دے گا. تو، قسم کے پر تم اس مفروضے جہاں چیزوں کو تبدیل کرنے کا امکان زیادہ افعال کے نام سے، ہیں. تم سچ میں اس کا استعمال کر سکتے ہیں تقریب کے لئے اچھا یو آر ایل. اور ایک بات سے آگاہ ہونا کہ، تھوڑا سا مشکل ہے آپ کو صرف کر سکتے ہیں لگتا ہے کہ کے لئے یو آر ایل پر ری ڈائریکٹ کال، لیکن اصل میں راستوں کے تمام ہے متن اور ایچ ٹی ایم ایل کی کسی قسم کو واپس کرنے، لہذا آپ کو اصل میں ہے ری کال واپس. دوسری صورت میں، آپ کو کچھ حاصل کریں گے جعلی ایک تار واپس لوٹنے کے بارے میں نہیں، ان میں سے سب کو واپس کرنا پڑے کیونکہ ایچ ٹی ایم ایل آپ اصل میں فراہم کرنے کے لئے چاہتے ہیں. اور اس طرح، آپ کو ری ڈائریکٹ کال کرتے وقت، یہ صفحہ آپ کو باز ہدایات لیکن یہ اصل میں ایچ ٹی ایم ایل کی واپسی آپ اس ری عمل کرنے کی ضرورت. مرکزی صفحے پر واپس جائیں. تو ہم ان دو مختلف خیالات ہیں. ہم گھر نقطہ نظر ہے. یا، میں کے سانچوں کہنا چاہئے لگتا ہے. ہم ان دونوں سانچوں ہے، ہوم سانچہ جس ہمارے خطوط کے تمام دکھاتا ہے، اور پھر ہم اس اشتہار بات ہے، آپ کو پیغام پر کلک کریں جب اور، یہ جاتا ہے فلاسک کے اندر اندر ایک نیا راستہ کے لئے، لیکن اس راستے ضروری نہیں ہے ایک اسی ٹیمپلیٹ ہے. آپ کو دیکھنے کے لئے کی ضرورت نہیں ہے کچھ، لیکن آپ اب بھی کر سکتے ہیں اس کام جا رہا ہے پردے کے پیچھے. اور پھر آپ کو ری ڈائریکٹ ہو گھر کے صفحے پر واپس. اور یقینی طور پر، یہ کام کرنے کے لئے آسان ہے سانچے میں کچھ اچھے سی ایس ایس میں اور یہ ایک بہت اچھے نظر بنانے کے، لیکن اہم منطق کے تمام ازگر میں موجود ہے. مثال کے طور پر کے بارے میں کوئی سوال ہے؟ میں نے بہت سے موجود ہیں جانتے ہیں مختلف چیزیں، وہاں پر جا ہم نہیں دیکھا تھا چیزوں کی ایک بہت پہلے، لیکن کچھ کی طرح. جی ہاں. سامعین 1: آپ کو کچھ کرنے کی ضرورت ہے ہے کہ اعداد و شمار صاف کرنے کے لئے خصوصی فارم سے آ رہے ہو؟ میں "، بنائیں" آپ کو صرف کہا محسوس عزرا Zigmond کی: جی ہاں، تو ہے اصل میں، کہ واقعی ایک اچھی بات ہے. سوال تھا تو، تم کرتے ہو جانچ پڑتال کریں اور اس بات کو یقینی بنانے کی ضرورت ہے ڈیٹا، درست ہے اور scrubbing کے کسی بھی طرح کرتے ہیں یہ درست ہے کہ اس بات کو یقینی بنانے کے لئے، آپ یہاں دیکھ سکتے ہیں کے طور پر کی وجہ سے، مجھے لگتا ہے کہ نہیں کر رہا ہوں. تو کیا ہوتا ہے دیکھتے ہیں میں خالی کچھ پوسٹ اگر. لہذا، یہ اصل میں صرف ایک بنا دیں گے خالی پوسٹ اور تریخ ویلہ میں بھرنے. تو حقیقت میں، آپ کو شاید گے کی طرح کچھ کرنا چاہتے ہیں، عنوان کے برابر ہے تو شاید وضاحت خالی سٹرنگ، تو یہ ایسا نہیں ہے. عنوان ہے یا اگر، صرف یہ کرنا خالی سٹرنگ کے برابر نہیں. تو یہ اصل میں خود کار طریقے سے نہیں ہے کہ scrubbing کے کی دیکھ بھال آپ کے لئے، لہذا آپ کو اب بھی ایسا کرنے کی ضرورت. جی ہاں، اچھا سوال ہے. سامعین 2: یہ صاف ہے نتیجہ انجیکشن کے لئے؟ کیا آپ جانتے ہیں؟ عزرا Zigmond کی: امید، Peewee کی کرتا ہے. میں یہ یقینی طور پر ایک خوبصورت ہو جائے گا لگتا برا لائبریری کہ ایسا نہیں کیا تو. میں بالکل نہیں جانتے. میں دیکھنا پڑے گا یہ پیدا ہے کہ سوال. میں نے ایک میں ٹائپ تو، لگتا ہے کہ قسم کے دیکھا ہے کہ بلاگ پوسٹ ایک SQL انجکشن حملے کی طرح، کچھ اس طرح، اگر یہ ایک پاس ورڈ میدان یا کچھ کی طرح ہے، آپ کو اس طرح کچھ کر سکتا ہے. مجھے لگتا ہے کہ اب بھی ہوگا لفظی پوسٹ ہو، لیکن میں Peewee کی کرتا ہے لگتا ہے کہ اعداد و شمار کے scrubbing کے کسی قسم یہ اصل میں یہ executes ہے پہلے. سامعین 1: اس متن والے فیلڈ ہے صحیح، سادہ متن لینے کے لئے ڈیزائن؟ عزرا Zigmond کی: جی ہاں، یہ ہے. جی ہاں. لہذا میں نے تمام لگتا ہے کہ، تو یہ ہے صحیح رویے، کہ کیا کریں گے، لیکن میں اس Peewee کی لگتا ہے امید ہے کہ کرتا ہے ان کے اختتام پر تحفظ کی کسی قسم. اور آپ کے لئے کرنا چاہتا تھا تو ڈبل چیک، کہ وہاں آپ ایک سوال پیدا جب طریقے ہیں. لہذا آپ کو کرنے کی ضرورت نہیں براہ راست اس پر عمل. میں لینے کے لئے پڑے گا دستاویزات پر نظر آتے ہیں، لیکن آپ نے واقعی دیکھ سکتے ہیں یہ پیدا کر رہا ہے کہ ایس کیو ایل، اور اس میں ایک نظر ڈالیں، اور بنانے یہ باتوں سے بچنے ہے اس بات کو یقینی. ایک وجہ آپ کو ہو سکتا ہے ایس کیو ایل میں دیکھنا چاہتا ہوں کہ Peewee کی تو ہے، لکھنا ہے چیزیں، واقعی آہستہ آہستہ جا لگتے ہو آپ ایک نظر لے اور یہ ہے دیکھ سکتے ہیں یہ کبھی کبھی ہے کیونکہ اصل میں، کر اتفاقی طور پر شامل کرنے کے لئے آسان میں، جس طرح تم نے اسے لکھنے، آپ نے غلطی سے یہ کر سکتے ہیں پہلے پورے ڈیٹا بیس کو منتخب کریں، اور اس کے بعد کسی قسم آپریشن اس پر، جب آپ واقعی ایک اپسمچی کو منتخب کرنے کا مطلب ہے. اور اس طرح، چیزیں تو نہیں ہیں بہت، درست جا اس درخواست پر ایک نظر لینے کے لئے اچھا ہے کہ اصل میں پیدا ہو رہی ہے. جی ہاں. سامعین 2: آپ سب سے پہلے شروع کر دیا، آپ 5000 کے طور پر بندرگاہ میں ڈال دیا. عزرا Zigmond کی: جی ہاں. سامعین 2:، Peewee کی کے ساتھ پہلے سے طے شدہ یا آپ کو تبدیل کر سکتے ہیں کہ کچھ ہے؟ عزرا Zigmond کی: جی ہاں، تو پورٹ فلاسک کے ساتھ پہلے سے طے شدہ ہے. آپ کے بغیر یہ چلاتے ہیں کچھ کی وضاحت، یہ خود کار طریقے سے کریں گے. میں پڑے گا، یقین اس کی جانچ پڑتال دوگنا کرنے، لیکن آپ، app.run میں وضاحت کر سکتے ہیں میں، آپ کی طرح کچھ کر سکتے ہیں لگتا پورٹ = 8080. ایک حقیقی فوری کوشش ہے کہ دے دو. جی ہاں، تو آپ کو صرف وضاحت کر سکتے ہیں پورٹ = 8080، اور یہ، اسے وہاں چلایا جائے گا اگر تم چاہتے تھے مجھے لگتا ہے کہ، جس میں اس کو چلانے کے لئے IDE پر، میں نے اس کی کوشش کی نہیں ہے لیکن مجھے لگتا ہے کہ اگر آپ کو ، پورٹ 8080 پر بھاگ گیا آپ شاید قابل ہو جائے گا سرور تک رسائی حاصل کرنے کے لئے، صرف آپ کی ویب سائٹ کے لئے تھے کی طرح. جی ہاں، یہ آسان ہے لیکن تبدیل کرنے کے لئے کہ اگر آپ طرح پورٹ فارورڈنگ کی کسی بھی قسم ہے آپ کو ایسا کرنے کی ضرورت ہے کہ چیزوں کو. کوئی سوال؟ جی ہاں؟ سامعین 1: تو، میں نے دیکھا آپ ، آپ نے ذکر کیا کے طور پر اس ماڈل، آپ کی وضاحت کرنا پڑے ہر اعتراض کے لئے ڈیٹا بیس. آپ کو معلوم کرنے کے لئے ہو، کرتا ہے کہ اگر یہ واقعی آسان بنانے SQLite کی ڈیٹا بیس کے بہت سے ہے کہ آپ کو ایک ویب اپلی کیشن کے لئے استعمال کرنا چاہتے ہیں، آپ کو صرف ایک گروپ کی وضاحت کر سکتے ہیں آپ کی ماڈل میں مختلف لوگ؟ عزرا Zigmond کی: جی ہاں، مجھے دو اصلی فوری کہ کھولو. آپ کرنا چاہتے ہیں تو، آپ کو کہہ رہے ہیں کچھ مختلف کا ایک گروپ، ہو سکتا ہے کچھ کے لئے، پسند ہے اور طالب علموں کو وجہ، کچھ اس طرح؟ جی ہاں، تو مجھے لگتا ہے کہ اب بھی آپ کو، ہر ماڈل اب بھی صرف کرنا پڑے گا اس کو تفویض ایک ڈیٹا بیس، لیکن اگر تم چاہتے تھے حاصل کرنے مختلف ماڈلز کہ مختلف ڈیٹا بیس اشیاء تفویض کیا ہے اس کے لئے، آپ کو یقینی طور ایسا کر سکتا ہے. تو، تو میں، ایک نئے پیدا کچھ اس طرح، اور اب یہ ایک طالب علم ہے ، عجیب طور سے ایک بلاگ پوسٹ کی طرح لگتا ہے میں اس کی وضاحت کر سکتے ہیں ڈیٹا بیس یہاں db_2 کے برابر ہے. تو، مجھے لگتا ہے کہ ہے آپ یہ کر سکتے اہم راستہ. ٹھنڈا. کوئی سوال؟ تو صرف ایک چھوٹی سی کو ختم کرنے کے لئے تھوڑا سا، کچھ وسائل ہیں، اور ان سلائڈ آن لائن پوسٹ کیا جائے گا لہذا آپ کو اصل میں ان لنکس کے لئے حاصل کر سکتے ہیں. بہترین وسائل واقعی ہیں فلاسک لئے دستاویزات اور خود Peewee کی. وہ واقعی اچھی طرح سے لکھا رہے ہیں، مجھے لگتا ہے. تو، فلاسک ویب سائٹ یہاں ہے، اور وہ ایک quickstart سبق ہے کہ اسی طرح کے ذریعے چل جائے گا میں کے ذریعے واک کی چیزیں، لیکن آپ کا جائزہ لینے کے کسی بھی قسم کی چاہتے ہیں تو میں نے چلا گیا ہے کہ چیزوں میں سے، یا آپ نے وضاحت نے سوچا کہ ایک مبہم راہ میں کچھ، وہ وہاں اس طرھ کی مثالوں پڑے گا. Peewee کی دستاویزات ہے، اور وہ ایک quickstart سبق ہے کہ اہم پیرامیٹرز سے زیادہ جاتا ہے آپ استعمال کرنا چاہتے ہیں کہ. تو، چیزوں میں اس کے ساتھ کے بارے میں بات منفرد، اور وضاحت پہلے سے طے شدہ، شعبوں میں سے مختلف قسم کے کہ آپ کو ان تمام وہاں ہو جائے گا، استعمال کر سکتے ہیں. اس کے علاوہ، اگر آپ کے پاس Peewee کی کے بارے میں سوالات، اور آپ، لئے StackOverflow پر ان پوسٹ اصل Peewee کی بنایا آدمی پر جاتا ہے اور بعض اوقات ان کے جوابات. آپ کو امید ہے ایک سوال ہے، تو وہ، اس کا جواب کرنے کے لئے قابل ہو جائے گا وہ پوری بات لکھا کیونکہ. مجھے لگتا ہے کہ سب کچھ ہے میں احاطہ کرنے کے لئے کرنا چاہتا تھا. باہر آنے کے لئے شکریہ.