flask design patterns
यह ट्यूटोरियल उदाहरणों के साथ वेब अनुप्रयोगों को डिज़ाइन करते समय अनुसरण करने वाले कुछ सामान्य फ्लास्क डिज़ाइन पैटर्न और सर्वोत्तम प्रथाओं के बारे में बताता है:
एप्लिकेशन डिजाइन सॉफ्टवेयर विकास का एक अनिवार्य पहलू है। एक अनियोजित एप्लिकेशन डिजाइन का परिणाम दुर्गम तकनीकी ऋण में होता है। इसलिए, जब भी हम अपने एप्लिकेशन को स्केल करना चाहते हैं, तो समय परीक्षण किए गए डिज़ाइन पैटर्न आज़माना ठीक है।
फ्लास्क समुदाय के पास कई ऐसे उदाहरण हैं जो आपको प्रेरित कर सकते हैं और आपके डिजाइन निर्णयों को प्रभावित कर सकते हैं जब आप अपने आवेदन के लिए कुछ पैटर्न आज़माना चाहते हैं। फ्लास्क इतना अपरंपरागत और लचीला है कि आप मौजूदा पैटर्न से अवधारणाओं को जोड़ना और एक नया बनाना पसंद कर सकते हैं।
=> स्क्रैच से फ्लास्क जानने के लिए यहां जाएं
आप क्या सीखेंगे:
फ्लास्क डिजाइन पैटर्न
उदाहरण के लिए, आपको एमवीसी पैटर्न से सिंगल पेज एप्लिकेशन से एसएएएस पैटर्न तक कई उदाहरण मिलेंगे। आप डिजाइन प्रतिमान का नाम देते हैं, और यह पहले से ही समुदाय में किसी के द्वारा कोशिश की गई है और आपके हाथों पर कोशिश करने के लिए स्वतंत्र रूप से उपलब्ध है।
नीचे सूचीबद्ध कुछ रिपॉजिटरी देखने लायक हैं।
झपकने की क्रिया या भाव
Flusk एक ऐसा उदाहरण है जिसका उपयोग आप बड़े फ्लास्क एप्लिकेशन बनाने के लिए कर सकते हैं जिसमें SQLAlchemy, Docker, andginx शामिल हैं। बैकएंड, डोमेन, व्यू और मॉडल को अपनी संबंधित परतों में बनाने के लिए इसमें एक सुंदर लॉजिक पृथक्करण है।
इसमें फ्लास्क ब्लूप्रिंट का उत्कृष्ट उपयोग है और फैक्ट्री डिजाइन पैटर्न का अनुसरण करता है। Flusk में एक्सटेंशन बनाना आसान है, और डॉकटर का उपयोग करके एप्लिकेशन को कंटेनरीकृत करना आसान है। इसके सोर्स कोड पर एक नजर यहाँ ।
कूकीकटर फ्लास्क
Cookiecutter फ्लास्क एक फ्लास्क टेम्प्लेट है जिसमें वेबपैक के साथ एसेट बंडलिंग और मिनिफिकेशन जैसे फीचर्स हैं। इसमें उपयोगकर्ता पंजीकरण / प्रमाणीकरण के लिए स्टार्टर टेम्पलेट हैं और यह बूटस्ट्रैप 4 पर बनाया गया है।
पाइकॉन पैकेज प्रोजेक्ट बनाने के लिए Cookiecutter एक कमांड-लाइन उपयोगिता है। इसका अर्थ है कि यदि आप इस टेम्पलेट का उपयोग करते हैं, तो आप अपने फ्लास्क एप्लिकेशन को PyPI के रूप में भी प्रकाशित कर सकते हैं। यह परियोजना सक्रिय विकास के तहत है।
यह मूल्यांकन करने योग्य है इस लिंक ।
फ्लास्क फुल
फ्लास्क फुल एक और पावर-पैक बॉयलरप्लेट है जो सेलेरी, मोंगूइगाइन, सिग्नल, शेल कमांड, वेबसॉकेट और इवेंटलेट का उपयोग करता है। यह स्वैगर एपीआई डॉक्स और स्फिंक्स डॉक्स के साथ काफी अच्छी तरह से एकीकृत है।
इस परियोजना को इसके स्रोत के रूप में मूल्यांकित करें। यह स्वतंत्र रूप से उपलब्ध है यहाँ ।
भड़कीला
हल्के अनुप्रयोग बनाने के लिए, आप फ्लास्की पर विचार करना चाह सकते हैं। फ्लास्की का स्रोत कोड उपलब्ध है यहाँ । यह भंडार मिगुएल ग्रिनबर्ग द्वारा बनाया गया था, जिनके पास वेब विकास में 25 से अधिक वर्षों का अनुभव है।
उन्होंने अपनी पुस्तक में चर्चा की गई अवधारणाओं के लिए कोड उदाहरण प्रदान करने के लिए फ्लास्की का निर्माण किया फ्लास्क वेब विकास ।
जो भी, फ्रेमवर्क, या टेम्पलेट आप चुनते हैं, इन सभी में कुछ मानक विशेषताएं हैं और अपने तरीके से उन लोगों के बारे में बात करते हैं। हम यहां उन कुछ विशेषताओं को सूचीबद्ध करते हैं और उन पर चर्चा करते हैं, और इस ट्यूटोरियल श्रृंखला के हमारे नमूना आवेदन में फ्लास्क-एपलिडर का उपयोग करने वालों को लागू करते हैं।
यह ट्यूटोरियल कुछ और सामान्य पैटर्नों की चर्चा करता है जो आज आपको लगभग सभी वेब एप्लिकेशन में मिलेंगे और वेब डेवलपर की किट में होना अच्छा है।
फ्लास्क लॉगिन उदाहरण
एक वेब एप्लिकेशन को आमतौर पर उपयोगकर्ताओं को असाइन किए गए विशेषाधिकारों के आधार पर आवेदन के प्रतिबंधित हिस्से को पंजीकृत करने और एक्सेस करने की आवश्यकता होती है। उपयोगकर्ताओं की अनुमति-आधारित भूमिकाएँ हैं। उदाहरण के लिए, एक सार्वजनिक उपयोगकर्ता के पास दूसरा उपयोगकर्ता बनाने की अनुमति नहीं है। हालाँकि, एक व्यवस्थापक उपयोगकर्ता के पास उन अनुमतियाँ हैं।
कभी-कभी, वेब एप्लिकेशन उपयोगकर्ता पंजीकरण और उपयोगकर्ता निर्माण को डिफ़ॉल्ट या पूर्व-निर्धारित अनुमतियों को निर्दिष्ट करके स्वचालित करते हैं।
उपयोगकर्ता ऑफ़लाइन बनाएँ
फ्लास्क फैब क्रिएट-यूजर कमांड का उपयोग करके उपयोगकर्ता को बनाने दें। एक बार जब आप इस कमांड का उपयोग करते हैं, तो आपको उपयोगकर्ता खाते का विवरण देने के लिए कमांड-लाइन संकेत मिलेगा। नीचे दिखाए गए के समान विवरण दें, और आपका उपयोगकर्ता बनाया गया है।
Role (Public): Username: user1 User first name: User1 User last name: Last1 Email: user1@sthwebsite.com Password: Repeat for confirmation: ## various logs 2020-06-21 13:55:01,053:INFO:flask_appbuilder.security.sqla.manager:Added user user1 User user1 created.
ध्यान दें कि कमांड आउटपुट के अंत में, sqla.manager उपयोगकर्ता निर्माण के लिए पुष्टिकरण संदेश प्रिंट करता है।
अब एप्लिकेशन तक पहुंचें, और आपके द्वारा दर्ज किए गए विवरणों के साथ लॉग इन करें। यदि आपने उत्पादन डेटाबेस पर उपयोगकर्ता बनाया है, तो उन विवरणों को उस व्यक्ति को पास करें जिनके लिए आपने यह खाता बनाया था।
Http: // localhost: 8080 / लॉगिन पर नेविगेट करें, और आप नीचे दिखाए अनुसार लॉगिन फॉर्म देखेंगे।

उपयोगकर्ता 1 लॉग इन करने के बाद, उपयोगकर्ता स्वागत संदेश देख सकता है।

उपयोगकर्ता ऑनलाइन बनाएँ
हमारे लिए सभी उपयोगकर्ताओं को ऑफ़लाइन बनाना असंभव हो सकता है। इसके अलावा, उत्पादन परिवेश में फ्लास्क फैब क्रिएट-यूजर कमांड का उपयोग करने के लिए अधिक तकनीकी विशेषज्ञता की आवश्यकता हो सकती है। आपको किसी व्यवस्थापक से कुछ कार्यभार को हटाने की आवश्यकता हो सकती है, जो उपयोगकर्ता निर्माण के साथ काम करने वाले अधिकांश समय हैं।
इसलिए, हमारे उदाहरण वेब एप्लिकेशन में, उपयोगकर्ताओं को स्वयं को पंजीकृत करने की अनुमति दें।
दुर्भावनापूर्ण अभिनेताओं को एप्लिकेशन के प्रतिबंधित भागों तक पहुंचने से रोकने के लिए हम Google की reCAPTCHA सेवा का उपयोग करते हैं।
सबसे पहले, Google की reCAPTCHA सेवा पर हमारे डोमेन को पंजीकृत करें और साइट कुंजी और SECRET कुंजी प्राप्त करें।
चरण 1: नीचे कमांड का उपयोग करके फ्लास्क-मेल स्थापित करें।
pip install Flask-Mail
Https://www.google.com/recaptcha/intro/v3.html पर जाएं और अपने Google खाते का उपयोग करके व्यवस्थापक के रूप में लॉगिन करें।
चरण 2: ReCaptcha का प्रकार चुनें।

चरण 3: वह डोमेन दें जिसके लिए आप Google के reCaptcha का उपयोग करना चाहते हैं।
इसके अलावा, इस कुंजी के लिए अनुमत डोमेन की सूची में लोकलहोस्ट को जोड़ें और शर्तों को स्वीकार करें और उन्हें सबमिट करें। आप इस सुविधा के विकास के बाद इसे हटा सकते हैं।
चरण 4: नोट नीचे SITE कुंजी जिसे एक सार्वजनिक कुंजी के रूप में भी जाना जाता है।

चरण 5: SECRET कुंजी को नोट करें जिसे निजी कुंजी के रूप में भी जाना जाता है।

एक बार जब आप ऊपर बताए अनुसार कुंजियों को नोट कर लेते हैं, तो उन्हें किसी ऐसी जगह पर स्टोर करना सबसे अच्छा होता है, जहाँ इन्हें संदर्भित किया जा सकता है और इसे कॉन्फिगर में पढ़ा जा सकता है। इस ट्यूटोरियल के लिए, हमने SIV_KEY और SECRET_KEY के रूप में पर्यावरण चर के रूप में मानों को सहेजा है।
अब config.py खोलें और इसे नीचे दिखाए अनुसार अपडेट करें।
# Will allow user self registration AUTH_USER_REGISTRATION = True# The default user self registration role AUTH_USER_REGISTRATION_ROLE = 'Public'# Config for Flask-WTF Recaptcha necessary for user registration RECAPTCHA_PUBLIC_KEY = os.environ.get('SITE_KEY', None) RECAPTCHA_PRIVATE_KEY = os.environ.get('SECRET_KEY', None) # Config for Flask-Mail necessary for user registration MAIL_PORT = 587 MAIL_USE_SSL = False MAIL_SERVER = 'smtp.gmail.com' MAIL_USE_TLS = True MAIL_USERNAME = 'sthtestmail@gmail.com' MAIL_PASSWORD = 'Passw0rdqwerty' MAIL_DEFAULT_SENDER = 'sthtestmail0@gmail.com'
आपको अपने Google खाते में कम सुरक्षित पहुंच सक्षम करनी पड़ सकती है। यदि आप किसी ईमेल संबंधित समस्या में फंस जाते हैं, तो नीचे दिए गए URL पर खाता पहुंच सक्षम करें।

- https://accounts.google.com/DisplayUnlockCaptcha
- https://support.google.com/mail/?p=BadCredentials
अब लॉगिन पेज पर, हम एक अतिरिक्त उपयोगकर्ता पंजीकरण बटन देख सकते हैं। एक बार जब आप पंजीकरण पर क्लिक करते हैं, हम reCaptcha चैलेंज के साथ कई फ़ील्ड देख सकते हैं।

एक बार जब आप अपने ईमेल के साथ पंजीकरण करते हैं और reCaptcha चुनौती को पास करते हैं, तो आपको एक पुष्टिकरण संदेश दिखाई देगा, जैसा कि नीचे दिखाया गया है।

यदि आपने पंजीकरण के दौरान जो ईमेल दिया है, वह वैध है, तो आपको खाता सक्रियण ईमेल नीचे दी गई छवि में दिखाए गए के समान मिलेगा।

फ्लास्क एडमिन
यदि आपने इस फ्लास्क ट्यूटोरियल श्रृंखला में अन्य ट्यूटोरियल पढ़े हैं, तो आप देखेंगे कि हमने इन-बिल्ट सुरक्षा का लाभ उठाया है जो फ्लास्क-ऐपबिल्डर के साथ आता है। Add_view_no_menu का उपयोग करके हमने जो विचार जोड़े हैं वे संरक्षित नहीं हैं। हालाँकि, जो दृश्य हमने DataModels के आधार पर जोड़े हैं, वे व्यवस्थापक उपयोगकर्ता के लिए स्वचालित रूप से सुरक्षित हैं।
वैकल्पिक रूप से, हम फ्लास्क-एडमिन का उपयोग कर सकते हैं, जो ज्यादातर एक समान परिणाम हासिल कर लेता था। फ्लास्क-एडमिन भी, ऑब्जेक्ट-ओरिएंटेड तरीके से विचारों को परिभाषित करें। दृश्यपटल पर एक वेबपेज व्यू क्लास पर एक विधि का प्रतिनिधित्व करता है जिसे हम स्पष्ट रूप से इंटरफ़ेस में जोड़ते हैं।
इस ट्यूटोरियल में, हम फ्लास्क-एडमिन का उपयोग नहीं करते हैं। इसके बजाय, हम अधिक गति के साथ समान परिणाम प्राप्त करने का रास्ता अपनाते हैं और लॉगिन, ऑथर्स, रोल्स और अनुमतियों के आसपास सुरक्षा निर्माण के बारे में जानने की आवश्यकता को छोड़ देते हैं। यह संभव था क्योंकि हमने फ्लास्क-एपबिल्डर का उपयोग किया था।
फ्लास्क-एपलिडर के साथ-साथ फ्लास्क-एडमिन दोनों के पास अपने पेशेवरों और विपक्ष हैं। फ्लास्क-एडमिन के मामले में, हमें पता होना चाहिए कि कोई मौजूदा सुरक्षा धारणा नहीं है, और आप अपने सुरक्षा मॉडल के आधार पर ऐप बना सकते हैं। फ्लास्क-एडमिन के बारे में अधिक जानने के लिए, कृपया देखें यहाँ और उपयुक्त उदाहरणों के माध्यम से जाना।
फ्लास्क फ़ाइल अपलोड
इन दिनों लगभग सभी वेब एप्लिकेशन में फाइलों को स्टोर करने और परोसने की आवश्यकता होती है। उनके लिए एक विशिष्ट पैटर्न सर्वर पर एक पथ पर फ़ाइलों को सहेजना है, कुछ जानकारी संग्रहीत फ़ाइल पर ऑपरेशन करने के लिए और एप्लिकेशन मॉडल और दृश्यों में रखना है।
हम इसी तरह के उदाहरण पर काम करने जा रहे हैं। अतिरिक्त सुविधाओं के साथ हमारे गाने के मॉडल को संशोधित करें।
मॉडल कोड में फ़ाइल निम्न कोड दर्ज करें।
from flask import Markup, url_for from flask_appbuilder.models.mixins import FileColumn from flask_appbuilder.filemanager import get_file_original_name from flask_appbuilder import Model from sqlalchemy import Column, Integer, String, ForeignKey from sqlalchemy.orm import relationship class Song(Model): id = Column(Integer, primary_key=True) title = Column(String(200), nullable=False) rating = Column(Integer) album_id = Column(Integer, ForeignKey('album.id')) # for storing MP3 file of the song song_file = Column(FileColumn, nullable=False) album = relationship('Album') def __str__(self): return self.title def download(self): return Markup( ' Download ' ) def file_name(self): return get_file_original_name(str(self.song_file))
हमने अपने पहले से बनाए गए सॉन्ग मॉडल को टाइप करके एक नया कॉलम टाइप किया है FileColumn। इसके अलावा, हमने दो और कॉलम जोड़े हैं, जो फाइल का नाम और अपलोड की गई फाइल को डाउनलोड करने के लिए लिंक प्रदर्शित करने के लिए SongsView में जोड़े जाएंगे।
डाउनलोड के लिए लिंक के रूप में प्रदर्शित करने के लिए मार्कअप के साथ फ्लास्क url_for पद्धति का उपयोग किया गया है। इसके अलावा, हमने फ्लास्क-एपलिडर से get_file_original_name विधि का उपयोग किया है क्योंकि फ़ाइल नाम को उसी फ़ाइल नामों के बीच टकराव से बचने के लिए UUID के साथ इसे संग्रहीत करके संग्रहीत किया जाता है।
संबंधित SongsView को अपडेट करने के लिए नीचे दिए गए कोड के साथ view.py को संशोधित करें।
class SongsView(ModelView): datamodel = SQLAInterface(Song) label_columns = {'file_name' : 'File Name', 'download': 'Download'} list_columns = ('title', 'file_name', 'download') show_columns = ('title', 'file_name', 'download')
SongsView वर्ग में, हमने उन नए लेबलों का उल्लेख किया है जिन्हें प्रदर्शित करने की आवश्यकता है, और हम केवल निर्दिष्ट सूची में वर्णित कॉलमों को सूचीबद्ध करना चाहते हैं।
यहां आपको यह याद रखना होगा कि हमने मॉडल में एक कॉलम जोड़कर एक डेटाबेस मॉडल को संशोधित किया है। डेटाबेस में संबंधित तालिका में यह नया कॉलम नहीं है। इसलिए, हम app.db फ़ाइल को हटा देंगे, क्योंकि हम पिछले ट्यूटोरियल के बाद से SQLite डेटाबेस पर काम कर रहे हैं।
वैकल्पिक रूप से, हम फ्लास्क डीबी माइग्रेट कमांड का भी उपयोग कर सकते हैं और संस्करण फ़ाइल में आवश्यक परिवर्तन कर सकते हैं, और टेबल को अपडेट करने के लिए फ्लास्क डीबी अपग्रेड का उपयोग कर सकते हैं। हालाँकि, हमने जो परिवर्तन पेश किया वह न्यूनतम है, और हम एप्लिकेशन डेटाबेस और उपयोगकर्ता को फिर से बना सकते हैं।
हम अनुशंसा करते हैं कि उत्पादन में, फ्लास्क-माइग्रेट कमांड का उपयोग करने पर विचार करें जब भी आप अपने एप्लिकेशन के डेटाबेस स्कीमा में कोई बदलाव करते हैं।
डेटाबेस फ़ाइल को हटाने और व्यवस्थापक उपयोगकर्ता को फिर से बनाने के लिए नीचे दिए गए आदेशों का उपयोग करें।
rm app.db flask fab create-db flask fab create-admin
अब व्यवस्थापक क्रेडेंशियल्स के साथ आवेदन में लॉगिन करें, और आप नीचे दिए गए छवि में दिखाए गए अनुसार संशोधित SongsView देखेंगे।

एक फ़ाइल के साथ एक गीत जोड़ें।

एक बार जब आप फ़ाइल को सहेजते हैं, तो दृश्य में कॉलम नीचे दिखाए गए अनुसार दिखाई देगा।

Config.py में निम्नलिखित मानों पर ध्यान दें। अपलोड की गई फ़ाइलों को सर्वर पर इस पथ पर संग्रहीत किया जाएगा। इस ट्यूटोरियल के लिए, इसे उस मशीन पर अपलोड किया जाएगा, जिस पर हम यह नमूना एप्लिकेशन विकसित कर रहे हैं।
अपलोड पथ की जाँच करें, जैसा कि config.py में बताया गया है। फ़ाइलों को UUID के साथ संग्रहीत किया जाता है, जैसा कि नीचे दिखाया गया है।

फ्लास्क HTTPS
जहां तक विकास का संबंध है, हम HTTPS के बिना चल रहे हमारे फ्लास्क एप्लिकेशन को चलाना जारी रख सकते हैं। सुरक्षा दृष्टिकोण से, HTTPS सुनिश्चित करता है कि संचार वैध क्लाइंट और सर्वर के बीच होता है।
इस एन्क्रिप्टेड संचार के लिए जरूरी है कि ट्रस्ट क्लाइंट और सर्वर के बीच स्थापित हो, जिसमें सार्वजनिक और निजी कुंजी की एक जोड़ी के साथ CA- हस्ताक्षरित प्रमाण पत्र का उपयोग हो। कृपया इसके बारे में अधिक पढ़ें यहाँ
इस ट्यूटोरियल में, हम आपको विकास के दौरान एचटीटीपी का उपयोग करके फ्लास्क आधारित वेबसाइटों को विकसित करने के तरीकों की जानकारी देंगे।
विकास के दौरान HTTPS को शामिल करने का सबसे तेज़ और आसान तरीका एक adhoc ssl_context का उपयोग करना है, जैसा कि नीचे रनहोम में वर्णित है। हालाँकि, कृपया वातावरण में पाइप का उपयोग करके pyopenssl स्थापित करें।
app.run(host='0.0.0.0', port=8080, debug=True, ssl_context='adhoc')
Ssl_context जोड़ने के बाद, जब आप https: // localhost: 8080 / पर नेविगेट करते हैं, तो आपको इस संचार में उपयोग किए जा रहे प्रमाणपत्र की वैधता के बारे में संदेह उठाते हुए चेतावनी मिलेगी। इसके अलावा, http: // localhost: 8080 / के लिए नेविगेशन अब और काम नहीं करेगा।
इस प्रकार, यह दृष्टिकोण थोड़ा बोझिल है, और जब भी आप अपने विकास सर्वर को पुनरारंभ करते हैं, तो आपको इस अनुरोध को स्वीकार करते रहना होगा।
आपको काम जारी रखने के लिए असुरक्षित पहुंच पर क्लिक करने की आवश्यकता है, जैसा कि नीचे दिखाया गया है।

वैकल्पिक रूप से, https सुविधाओं के साथ विकसित करने के लिए, हम एक पायथन टुपल में सर्टिफिकेट और चाबी को रन विधि में ssl_context पैरामीटर में पास कर सकते हैं। हालांकि, इस दृष्टिकोण को अपनाने के लिए, आपको नीचे दिए गए आदेश का उपयोग करके एक स्व-हस्ताक्षरित प्रमाण पत्र और एक कुंजी उत्पन्न करनी होगी।
openssl req -x509 -newkey rsa:4096 -nodes -out mycert.pem -keyout mykey.pem -days 365
पूछे गए प्रश्नों के लिए उचित मूल्य दें।

हमने सभी डिफ़ॉल्ट मान छोड़ दिए हैं। अब विकास सर्वर को बंद करें, और नीचे दिखाए गए अनुसार पथ प्रमाणपत्र और मुख्य पथ को पास करें।
app.run(host='0.0.0.0', port=8080, debug=True, ssl_context=('mycert.pem', 'mykey.pem'))
यह दृष्टिकोण भी Adhoc ssl_context के उपयोग के पिछले तरीके के समान है। हालाँकि, इस मामले में, विवरण अधिक समय तक बना रहता है। हमने 365 दिनों का उल्लेख किया है। आप उन दिनों की समाप्ति को निर्दिष्ट कर सकते हैं जिनकी आपको आवश्यकता है। इसके अलावा, इन फ़ाइलों को अन्य टीम के सदस्यों के साथ साझा किया जा सकता है यदि आप एक टीम में विकसित कर रहे हैं।
उत्पादन वातावरण में, CA द्वारा प्रमाण पत्र जारी किए जाते हैं, और मिगुएल ग्रिनबर्ग कुछ उपयोग मामलों पर चर्चा करते हैं यहाँ । हम अनुशंसा करते हैं कि आप उस पृष्ठ पर अधिक विवरण पढ़ें।
निष्कर्ष
इस ट्यूटोरियल में, हमने कुछ पैटर्न पर चर्चा की है, जो वेब डेवलपर फ्लास्क लॉगिन, फ्लास्क एडमिन, फ्लास्क फाइल अपलोड और फ्लास्क एचटीटीपीएस से संबंधित सुविधाओं को विकसित करते हुए अनुसरण करते हैं। हमने कोड उदाहरण प्रदान किए हैं, और पाठक इसे भी आज़मा सकते हैं।
हमारे अगले ट्यूटोरियल में, हम फ्लास्क के विस्तार की अवधारणाओं को कवर करेंगे और देखेंगे कि REST API आधारित सुविधाओं को कैसे बनाया जाए। इसके अलावा, हम चर्चा करेंगे कि हम फ्लास्क के अंदर ट्विटर एपीआई का उपयोग कैसे कर सकते हैं।
उपयोगकर्ता स्वीकृति परीक्षण का उद्देश्य क्या है
=> फ्लास्क ट्रेनिंग सीरीज़ यहां देखें
अनुशंसित पाठ
- जावा में डिजाइन पैटर्न: सिंगलटन, फैक्टरी और बिल्डर
- पायथन फ्लास्क ट्यूटोरियल - शुरुआती के लिए फ्लास्क का परिचय
- फ्लास्क एपीआई ट्यूटोरियल उदाहरण के साथ | एपीआई के साथ फ्लास्क का विस्तार
- फ्लास्क ऐप और फ्लास्क प्रोजेक्ट लेआउट ब्लूप्रिंट और बूटस्ट्रैप के साथ
- Django बनाम फ्लास्क बनाम नोड: चयन करने के लिए कौन सा फ्रेमवर्क
- शीर्ष 31 लोकप्रिय पायथन फ्लास्क साक्षात्कार प्रश्न उत्तर के साथ
- शीर्ष 10 डेटाबेस डिज़ाइन उपकरण जटिल डेटा मॉडल बनाने के लिए
- टॉप 11 यूआई / यूएक्स डिजाइन के रुझान: 2021 में क्या उम्मीद करें और परे