Flask र Django पाइथन-आधारित वेब विकास फ्रेमवर्कहरू हुन्। यस ट्यूटोरियलले Django बनाम फ्लास्कलाई विस्तृत रूपमा तुलना गर्दछ। फ्लास्क बनाम नोड पनि छोटकरीमा कभर गरिएको छ:
तपाईंको अर्को परियोजनाको लागि फ्रेमवर्क चयन गर्ने प्रश्नमा यो सधैं एक व्यापक दुविधा भएको छ। प्रत्येक केही महिनामा, तपाईंले नयाँ प्रविधि र तपाईंले प्रयोग गर्नुभएको अघिल्लोको कमजोरीलाई हटाउने ढाँचा देख्नुहुन्छ।
ढाँचा भनेको मौन संस्कृति जस्तै हो, र तपाईंले पालना गर्नुपर्ने अधिवेशनहरूको सेट बढी हुनुपर्दछ। टेक्नोलोजीको यो सधैँ परिवर्तनशील संसारमा सान्दर्भिक र उत्पादक। तुलनात्मक रूपमा, वेब विकास डेस्कटप विकास भन्दा धेरै छिटो चल्छ।
7> Django Vs फ्लास्क
यस ट्यूटोरियलमा, हामी Django र Flask बीचको तुलनालाई विस्तृत रूपमा चित्रण गर्छौं। फ्लास्क र Django पाइथन-आधारित वेब विकास फ्रेमवर्कहरू हुन्। धेरै हल्का माइक्रोफ्रेमवर्क तिर लागिरहेका छन्। यी फ्रेमवर्कहरू चुस्त, लचिलो, साना छन्, र माइक्रोसर्भिसेसहरू र सर्भरलेस अनुप्रयोगहरू विकास गर्न मद्दत गर्छन्।
NodeJS को लोकप्रियतालाई ध्यानमा राख्दै, हामीले फ्लास्क बनाम नोड खण्ड अन्तर्गत फ्लास्क र नोड बीचको एक उत्कृष्ट तुलना पनि प्रदान गरेका छौं। निम्न सुविधाहरूमा Django र Flask को मूल्याङ्कन गर्नाले तपाईंलाई अर्कोमा एक चयन गर्न मद्दत गर्नेछ।
पूर्वनिर्धारित व्यवस्थापक
दुबै फ्रेमवर्कले बुटस्ट्र्याप गरिएको प्रशासक अनुप्रयोग प्रदान गर्दछ। Django मा, यो बिल्ट-इन छ र पूर्वनिर्धारित संग आउँछविकासकर्ताहरूलाई वेब अनुप्रयोगहरूको लागि अगाडिको छेउ र ब्याक एन्ड विकासमा स्थिरता र एकरूपता हुन सक्षम बनायो। विकासकर्ताहरूले जाभास्क्रिप्ट प्रयोग गरेर ब्याक एन्डको लागि विकास गर्न सक्छन्।
यस फ्लास्क बनाम नोड सेक्सनमा, हामी फ्लास्क, जुन पाइथन प्रोग्रामिङ भाषामा आधारित फ्रेमवर्क हो, नोडसँग तुलना गर्छौं, जुन विभिन्न मापदण्डहरूमा क्रोमको जाभास्क्रिप्ट रनटाइममा आधारित छ। वास्तुकला, गति, सामुदायिक समर्थन, आदिको रूपमा।
# | मापदण्ड | फ्लास्क | नोड |
---|---|---|---|
1 | भाषा रनटाइम | Python | Chrome को V8 JavaScript इन्जिन |
219 | आर्किटेक्चर | नन-ब्लकिङ I/O लाई गनीकोर्न जस्ता गैर-ब्लकिङ वेब सर्भरहरूको प्रयोग आवश्यक छ। माइक्रोफ्रेमवर्क (ब्याक एन्ड) श्रेणी। | सहज रूपमा नन-ब्लक I/O प्रदान गर्दछ। फुलस्ट्याक श्रेणी |
3 | प्याकेज प्रबन्धक | pip | npm |
4 | गति | एक अलग पाइथन अनुवादकको कारणले सुस्त। | जस्ट-इन-टाइम कम्पाइलरको कारणले छिटो . |
5 | खुला स्रोत | हो | हो |
6 | सामुदायिक समर्थन | Github मा 2.3 K घडीहरू 51.4 K ताराहरू 13.7 K फोर्क्स | Github मा 2.9 K घडीहरू 71.9 K ताराहरू 17.6 K फोर्क्स |
7 | डिबगिङ | कुनै निर्भरता बिना पाइथन डिबगरसँग डिबग गर्न सजिलो। | थप प्रयास चाहिन्छ। ए संग सजिलोBluebird / Promise Library को साथ विकास IDE। |
8 | रखरखाव | कम मर्मतसम्भार | उच्च मर्मतसम्भार |
9 | वास्तविक-समय अनुप्रयोगहरू | स्वभाविक रूपमा उपयुक्त छैन। यद्यपि, यसले वास्तविक-समय प्रयोगका केसहरूको लागि socket.io सँग काम गर्न सक्छ। फ्लास्क-सकेटियो एक्सटेन्सन प्रयोग गर्नुहोस्। | घटना-संचालित वास्तुकला र स्ट्रिमिङ मोड्युलहरूको कारणले उपयुक्त। स्वाभाविक रूपमा एसिन्क्रोनस। |
10 | पुस्तकालयहरू | अधिक परिपक्व र स्थिर। | कम परिपक्व र स्थिर तर सक्रिय विकास र समाधान भित्र रिलीज। |
11 | कोड गुणस्तर | यो विशेष रूपमा ब्याक एन्डको लागि सिर्जना गरिएको हो। | नयाँ फ्रन्ट एन्ड विकासकर्ताहरूले ब्याकइन्डमा स्विच गर्दा कहिलेकाहीँ यो सम्झौता हुन्छ। |
12 | विकासकर्ता टोली संरचना | टीमहरू सामान्यतया ब्याक एन्ड डेभलपरहरू र फ्रन्ट एन्ड विकासकर्ताहरू मिलेर बनेका हुन्छन्। सरोकारहरू अलग छन्। | विकासकर्ताहरूले भूमिका आदानप्रदान गर्न सक्छन् र अगाडिको छेउ र पछाडिको छेउमा काम गर्न सक्छन्। |
13 | विद्यमान प्रणाली र अनुप्रयोगहरूसँग एकीकरण | मेसिन लर्निङ र बिग डाटा एप्लिकेसनहरूको लागि पाइथन इकोसिस्टम प्रयोग गरेर अन्य अवस्थित लिगेसी ब्याकएन्ड अनुप्रयोगहरूसँग एकीकृत गर्न सजिलो। | अत्यन्तै नयाँ र अन्य अवस्थित अनुप्रयोगहरूसँग एकीकरणको लागि अनुकूलन वा नयाँ पुस्तकालयहरू सिर्जना गर्न आवश्यक छ। |
बारम्बार सोधिने प्रश्नहरू
प्रश्न #1) मैले के गर्नुपर्छ?पहिले सिक्नुहोस्, Django वा फ्लास्क?
उत्तर: पहिले फ्लास्कसँग जानु राम्रो हुन्छ। एकपटक तपाईंले वेब विकासमा थोरै अनुभव प्राप्त गरेपछि, तपाईंले Django लिन सक्नुहुन्छ। जाङ्गोले मान्दछ कि तपाइँलाई वेब अनुप्रयोगहरूले कसरी काम गर्दछ भनेर पहिले नै थाहा छ, र यसले धेरैजसो प्रकार्यहरू आफैंमा ख्याल राख्छ।
प्रश्न # 2) फ्लास्क वा जङ्गो राम्रो छ?
0 उत्तर:फ्लास्क र जाङ्गो दुवै उत्कृष्ट छन् र तिनीहरूको उद्देश्यका लागि उपयुक्त छन्। Django अधिक प्रमुख इन्टरप्राइज-स्केल अनुप्रयोगहरू सिर्जना गर्न प्रयोग गरिन्छ। फ्लास्क स्थिर र साना अनुप्रयोगहरू सिर्जना गर्न प्रयोग गरिन्छ। फ्लास्क पनि प्रोटोटाइप गर्न उपयुक्त छ। यद्यपि, फ्लास्क एक्सटेन्सनको प्रयोगले, हामी ठूला एप्लिकेसनहरू पनि बनाउन सक्छौं।प्रश्न #3) कुन कम्पनीहरूले फ्लास्क प्रयोग गर्छन्?
उत्तर: फ्लास्क प्रयोग गर्ने केही कम्पनीहरू Reddit, Mailgun, Netflix, Airbnb, आदि हुन्।
Q #4) कुन साइटहरू Django प्रयोग गर्छन्?
उत्तर : Django प्रयोग गर्ने केही साइटहरू इन्स्टाग्राम, Spotify, YouTube, Dropbox, Bitbucket, Eventbrite, आदि हुन्।
निष्कर्ष
हामी वास्तवमै लामो समयसम्म एउटै फ्रेमवर्कमा फिक्स हुनु हुँदैन। । हामी टेक्नोलोजीका नयाँ सेटहरू सिक्न र त्यहाँ प्रचलन स्ट्याकहरू अपनाउन तयार हुनुपर्छ। हामी मध्ये कतिपयले तुलनात्मक रूपमा बक्सबाट बाहिर, ब्याट्रीले कडा रिलिज चक्र, कडा पछाडी अनुकूलता कायम राख्ने, इत्यादि समावेश गर्न चाहन्छन्। यद्यपि, यो अविश्वसनीय छनयाँ सुविधाहरू र फ्लास्क फ्रेमवर्कको लचिलोपनसँगै हिंड्न। जब तपाइँ फ्रन्ट एन्ड र ब्याकएन्ड बीचको स्थिरता कायम राख्न चाहनुहुन्छ भने तपाइँ NodeJS जस्तै पूर्ण-स्ट्याक फ्रेमवर्क रोज्न सक्नुहुन्छ।
फ्रेमवर्कको साथ जानु भनेको हामीले प्रयास गर्ने सन्दर्भ र समस्याहरूमा निर्भर गर्ने विकल्प हो। समाधान। फ्रेमवर्क चयन गर्न सधैं कठिन छ। हामी आशा गर्छौं कि हामीले यस ट्यूटोरियलमा आवश्यक समीक्षा बुँदाहरू प्रस्तुत गरेका छौं, र यसले तपाईंलाई एउटा फ्रेमवर्कलाई अन्तिम रूप दिन मद्दत गर्नेछ। यद्यपि, हामी दुबै फ्रेमवर्कहरू सिक्न सिफारिस गर्छौं।
फ्लास्कबाट सुरु गर्न र त्यसपछि वेब विकासमा केही अनुभव प्राप्त गरेपछि Django मा जान सजिलो हुन्छ। यदि कुनै कारणले तपाईंको विकास प्रयासहरूलाई JavaScript को प्रयोग आवश्यक छ भने तपाईं NodeJS को साथ अगाडि बढ्न सक्नुहुन्छ।
स्थापना। जे होस्, फ्लास्कको मामलामा, तपाईंले एडमिन इन्टरफेसको लागि फ्लास्क-एपबिल्डर स्थापना गर्न आवश्यक छ।यसै बीच, फ्लास्कको मामलामा Django मा एक सुपर प्रयोगकर्ता र प्रशासक सिर्जना गर्न सम्झनुहोस् ताकि तपाईं लग इन गर्न सक्नुहुन्छ। ब्राउजर प्रयोग गरेर प्रशासक ब्याकइन्ड।
डाटाबेस र ORMS
Jango लाई पूर्वनिर्धारित इनबिल्ट ORM सँग पठाइन्छ जसले Oracle, MySQL, PostgreSQL, SQLite, आदि जस्ता RDBMS सँग अन्तरक्रिया गर्नलाई समर्थन गर्दछ। यो ORM पनि माइग्रेसनको उत्पादन र व्यवस्थापनलाई समर्थन गर्दछ। यो इनबिल्ट प्रमाणीकरण संग डाटाबेस मोडेलहरू सिर्जना गर्न अपेक्षाकृत अधिक सहज छ।
फ्लास्कले कुनै एक विशेष विधि पनि लागू गर्दैन र Django को मामला मा उल्लिखित समान सुविधाहरू समर्थन गर्ने विभिन्न विस्तारहरूसँग प्रयोग गर्न उपलब्ध छ। हामीले श्रृंखलाको एउटा ट्यूटोरियलमा Flask-SQLAlchemy, Flask-Migrate, Flask-MongoEngine को उदाहरणहरू दिएका छौं।
दृश्य र मार्गहरू
दुवै फ्रेमवर्कहरूमा विधिमा आधारित घोषणा गर्ने संयन्त्रहरू छन्। वर्ग आधारित दृष्टिकोण। Django को मामला मा, मार्गहरु र दृश्यहरु अलग फाइलहरु मा उल्लेख गरिएको छ। साथै, हामीले सधैं अनुरोध वस्तुलाई स्पष्ट रूपमा पास गर्न आवश्यक छ।
अर्कोतर्फ, फ्लास्कमा, हामी सम्बन्धित ह्यान्डलरहरूको लागि मार्गहरू उल्लेख गर्न डेकोरेटर प्रयोग गर्न सक्छौं। फ्लास्कमा भएको अनुरोध वस्तु विश्वव्यापी छ र कुनै पनि स्पष्ट पारी बिना नै उपलब्ध छ। हामीले हाम्रो एउटामा दृश्य र मार्गहरू प्रयोग गर्ने अवधारणाहरू विस्तृत गरेका छौंट्यूटोरियलहरू।
फारम र टेम्प्लेटहरू
ज्याङ्गो फारमहरू फ्रेमवर्कमा इनबिल्ट छन् र कुनै स्थापना आवश्यक छैन। फारमहरू अनुप्रयोगहरूको लागि एकदमै आवश्यक छन्, र Django मा, फारमहरू टेम्प्लेट ट्यागहरूमा पास गर्न सकिन्छ, र टेम्प्लेटहरूमा रेन्डर गर्न उपलब्ध छन्। यद्यपि, फ्लास्कको मामलामा, हामीले Flask-WTF प्रयोग गर्नुपर्छ।
हामीले फारमहरू सिर्जना गर्न Flask-Appbuilder को पनि प्रयोग गर्यौं। यसबाहेक, WTF-Alembic लाई डाटाबेस मोडेलहरूमा आधारित HTML फारमहरू उत्पन्न गर्न प्रयोग गर्न सकिन्छ।
दुवै फ्रेमवर्कले Jinja2 टेम्प्लेटिङलाई समर्थन गर्दछ, र दुवैले स्रोतहरूको URL हरू उत्पन्न गर्न इनबिल्ट प्रकार्यहरूसँग स्थिर फाइलहरूको सेवालाई समर्थन गर्दछ। यी दिनहरूमा सबै फ्रेमवर्कहरूमा एक धेरै सामान्य ढाँचा।
यद्यपि चरहरू पास गर्ने र टेम्प्लेटहरूलाई तिनीहरूको विशेष दृश्य विधिहरूमा रेन्डर गर्ने विभिन्न तरिकाहरू छन्, दुवै फ्रेमवर्कहरूमा टेम्प्लेटहरूमा भेरिएबलहरू पहुँच गर्ने समान वाक्य रचना छ।
लचिलोपन
ज्याङ्गो, यसको सरासर आकार र जटिलताको कारण, फ्लास्क भन्दा कम लचिलो छ। फ्लास्क सजिलैसँग विस्तार गर्न सकिन्छ जुन यसले समर्थन गर्दछ। त्यसकारण, यसलाई फ्लास्क सेटअप गर्न थप समय र प्रयास चाहिन्छ किनभने हामीले थप विस्तारहरू मूल्याङ्कन गर्न आवश्यक छ।
विकासकर्ताहरूलाई दिइएको स्वतन्त्रताले ढिलो विकास र डेलिभरीमा परिणाम दिन्छ। अर्कोतर्फ, Django पहिले नै स्थापित कन्भेन्सनहरूको सेट पछ्याउँछ र कम विचलन आवश्यक पर्ने आर्किटाइपहरू पछ्याउँछ।परियोजनाका लक्ष्य र उद्देश्यहरूबाट।
लर्निङ कर्भ
ज्याङ्गो र फ्लास्क दुवै सिक्नको लागि लगभग समान समय चाहिन्छ। फ्लास्कसँग सानो API छ; त्यसकारण, मूल ढाँचाको सम्बन्धमा मानिसहरूले यसलाई छिटो पूरा गर्न सक्षम हुन सक्छन्। यो उत्तिकै चुनौतीपूर्ण हुन्छ जब यो यसको विस्तारहरू प्रयोग गर्न आउँछ। यो चाँडै बोझिलो हुन सक्छ।
तथापि, सबै कुरा एउटै प्याकेजमा भरिएको नभएको कारणले, फ्लास्क फ्रेमवर्कको मामलामा सरोकारहरूलाई अलग गर्ने अभ्यास गर्न सजिलो हुन्छ।
हामी तपाईंलाई सिफारिस गर्छौं। ढाँचाहरू सिक्नुहोस् र पछ्याइएको वाक्य रचना होइन। Django र Flask दुबै उत्कृष्ट कागजातहरू छन्। तपाईंले सुविधा विकास गर्दा यसलाई सजिलै पछ्याउन सक्नुहुन्छ।
परियोजनाको आकार र अवधि
जब तपाईं ठूला टोलीहरूसँग ठूलो परियोजनामा काम गर्नुहुन्छ, Django को परिपक्वताको फाइदा लिनु राम्रो हुन्छ र यसको व्यापक योगदानकर्ता समर्थन छ। यदि तपाइँको परियोजना सानो छ र कम संख्यामा विकासकर्ताहरू चाहिन्छ भने, फ्लास्कसँग जानु राम्रो हुन्छ।
यदि तपाइँको परियोजना लामो समय सम्म चल्ने छ भने, Django सही छनौट हो; अन्यथा, तपाईंले फ्लास्क चयन गर्न सक्नुहुन्छ।
एप्लिकेसन प्रकार
पहिले जङ्गोलाई पूर्ण उद्यम-स्केल वेब अनुप्रयोगहरूको आवश्यकता हुँदा सही विकल्प मानिन्थ्यो। तर, आज फ्लास्क समान रूपमा परिपक्व छ र समान अवस्थाहरूमा राम्रोसँग सेवा गर्न सक्छ।
तथापि, विकासकर्ताहरूसानो वा स्थिर वेबसाइटहरू विकास गर्न, वा RESTful API वेब सेवाहरू प्रदान गर्न द्रुत रूपमा कार्यान्वयन गर्दा थप फ्लास्क छनौट गर्नुहोस्।
विकासकर्ता भर्ती
तपाईले प्रयोग गर्नुहुने फ्रेमवर्कको कन्भेन्सनमा दक्ष स्रोतहरू भएमा भुक्तानी हुन्छ। तपाईं छिटो विकास, छिटो परीक्षण, छिटो डेलिभरी, र छिटो समस्या समाधानको आशा गर्न सक्नुहुन्छ।
फ्लास्कको मामलामा नयाँ विकासकर्ताहरू फेला पार्न एकदम सजिलो छ। जे होस्, यो Django मा कुशल स्रोतहरू फेला पार्न चुनौतीपूर्ण छ। Django विकासकर्ताहरू द्वारा भाडामा लिन धेरै तयार छैनन्। यसबाहेक, Django फ्रेमवर्क निकै पुरानो छ, र त्यसैले, फ्लास्क फ्रेमवर्कमा दक्ष व्यक्तिहरूको तुलनामा धेरैजसो नयाँ हायरहरू भाडामा लिन महँगो छ।
नयाँ प्राविधिक स्नातकहरूले पनि हल्का फ्रेमवर्कहरू उठाइरहेका छन्। फ्लास्कको रूपमा किनभने उद्योग प्रवृत्तिहरू decoupled microservices वा सर्भरलेस कार्यान्वयनको सिर्जनालाई समर्थन गर्ने प्रविधिसँग अनुप्रयोगहरू सिर्जना गर्ने दिशामा छन्। जाभास्क्रिप्ट व्यापक रूपमा प्रयोग गर्न सजिलो र अधिक लोकप्रिय फ्रेमवर्कहरूसँगै प्रयोग गरिन्छ।
खुला स्रोत
फ्लास्क र जाङ्गो दुवै खुला स्रोत परियोजनाहरू हुन्। तपाईले Django //github.com/django/django र Flask //github.com/pallets/flask मा पाउन सक्नुहुन्छ। यी परियोजनाहरूलाई हेर्दा, फ्लास्कमा योगदान गर्नेहरू भन्दा Django मा योगदानकर्ताहरूको संख्या धेरै फराकिलो छ।
यसैकारण, हामीसँग केही छ भने हामी थप र छिटो सहयोगको अपेक्षा गर्न सक्छौं।समस्याहरू र प्रश्नहरू जुन समाधान आवश्यक छ। सामान्य मान्यताहरूको विपरीत, फ्लास्क परियोजनाका प्रयोगकर्ताहरूको संख्या Django भन्दा बढी छ।
फ्लास्कको बारेमा एउटा तथ्य यो हो कि त्यहाँ कुनै विशेष कार्यको लागि स्थिर विस्तार नहुन सक्छ। तसर्थ, उत्कृष्टलाई फिल्टर गर्ने कार्य विस्तारको प्रयोगकर्तासँग रहन्छ।
उदाहरणका लागि, हामीले पछिल्लो ट्युटोरियलमा ट्विटरको एपीआईसँग काम गर्न Flask-Twitter-oembedder प्रयोग गर्यौं। तर यस विस्तारमा केही समस्याहरू थिए जसका कारण हामीले Flask-Cache बाट Flask-Caching मा स्विच गर्नुपर्यो।
हामीले हाम्रो अद्यावधिक गरिएको Github repo बाट Flask-twitter-oembedder स्थापना गर्न अनुकूलन स्थापना कथन पनि समावेश गर्नुपरेको थियो। हाम्रो परियोजनाको requrements.txt फाइलमा उल्लेख गर्नु भन्दा।
बारम्बार मर्मत एक विशिष्ट चुनौती हो जुन तपाईंले खुला स्रोत परियोजनाको साथ सामना गर्नुहुनेछ। खुला स्रोत परियोजनाको समर्थन र व्यवस्थापन सामान्यतया भुक्तान सेवाहरूसँग जोडिएको हुन्छ। तपाईंले परियोजनामा योगदानकर्ताहरूबाट केही समस्याहरू समाधान गर्न लामो समय कुर्नु पर्ने हुन सक्छ।
कार्यसम्पादन
फ्लास्क फ्रेमवर्क Django भन्दा हल्का छ, र विशेष गरी नगण्य भिन्नताहरूसँग राम्रो प्रदर्शन गर्दछ। I/O सञ्चालनहरू विचार गर्दा।
तल दिइएका तुलनाहरूमा हेर्नुहोस्। अनुरोधमा वृद्धि संग, फ्लास्क को प्रदर्शन लगभग उस्तै रहन्छ। जे होस्, Django ले डेटा ल्याए पछि टेम्प्लेटहरू रेन्डर गर्न बढी समय लिन्छORM।
Python Flask Vs Django: A Tabular Comparison
# | विशेषताहरू | Django | Flask |
---|---|---|---|
1 | पूर्वनिर्धारित व्यवस्थापक | निर्मित व्यवस्थापक ब्याकइन्ड | फ्लास्क स्थापना गर्नुहोस् -Appbuilder |
2 | पूर्वनिर्धारित प्रशासक सक्षम गर्नुहोस् | settings.py मा, सुनिश्चित गर्नुहोस् कि तपाइँ प्रशासक स्थापना गरिएको एप अनकमेन्ट गर्नुहुन्छ। ... # अनुप्रयोग परिभाषा INSTALLED_APPS = [ 'वेबसाइट', 'django.contrib.admin', # अन्य code ] ... | flask_appbuilder बाट AppBuilder र SQLA आयात गर्नुहोस्, पहिले DB सुरु गर्नुहोस् र त्यसपछि Appbuilder फ्लास्क आयात फ्लास्कबाट flask_appbuilder बाट AppBuilder आयात गर्नुहोस्, SQLA app=Flask(__name__) db = SQLA(app)appbuilder=AppBuilder(app, db.session) |
3 | व्यवस्थापक प्रयोगकर्ता सिर्जना गर्नुहोस् | python management.py createsuperuser | फ्लास्क फ्याब सिर्जना-व्यवस्थापक |
4 | डेटाबेसहरू र ORMS | RDBMS का लागि इनबिल्ट ORM NoSQL ब्याकएन्डहरूको लागि Django-nonrel प्रयोग गर्नुहोस् | Flask-SQLAlchemy स्थापना गर्नुहोस् A NoSQL विशिष्ट फ्लास्क-विस्तार जस्तै Flask-MongoEngine |
5 | दृश्य र मार्गहरू | URLConf मा urls.py django बाट .urls आयात पथ .बाट हेराइ आयात गर्नुहोस् urlpatterns = [ path('/path', views.handler_method), # अन्य url र ह्यान्डलरहरू ] | @app.route(“/path”) डेकोरेटर प्रयोग गर्नुहोस् भ्यूजमा एउटा मार्ग नक्सा गर्नfunction। @app.route(“/path”) def handler_method(): # अन्य कोड थप तर्क सहित |
6 | टेम्प्लेटहरू रेन्डर गर्नुहोस् | दृश्यमा django.shortcuts बाट रेन्डर आयात गर्नुहोस् def example_view(अनुरोध): tempvar=” value_for_template” रिटर्न रेन्डर( अनुरोध, 'demo.html', {'tempvar':tempvar} ) | हेराइमा बाट। एप आयात गर्नुहोस् फ्लास्क आयात अनुरोधबाट फ्लास्क आयात render_template बाट @app.route(“/path”) def demo(): tempvar=”value_for_template” render_template( “demo.html”, temp_var=temp_var ) |
7 | टेम्प्लेटहरूमा चल इन्टरपोलेसन | टेम्प्लेटमा/demo.html {{ टेम्प्लेट }} | templates/demo.html मा {{ tempvar }} |
8 | लचिलोपन | कम लचिलो | थप लचिलो |
9 | डिजाइन निर्णयहरू | विकासकर्ताहरूसँग कम डिजाइन निर्णयहरू। | विकासकर्ताहरूलाई थप स्वतन्त्रता। |
10 | परियोजना विचलन | परियोजना लक्ष्यहरूबाट कम विचलन। | विकासकर्ताहरूलाई दिइएको स्वतन्त्रताका कारण थप विचलन। |
11 | कोडबेसको आकार | ठूलो कोडबेस | सानो कोडबेस |
1219 | APIs को संख्या | थप APIs | कम APIs |
13 | अनुप्रयोग प्रकार | पूर्ण वेब अनुप्रयोगहरू | साना अनुप्रयोगहरू /Microservices |
14 | RESTful Applications | Django REST Framwork for RESTful Applications। | RESTful एप्लिकेसनहरूको लागि निम्न विस्तारहरू प्रयोग गर्नुहोस्। Flask-RESTful Flask-RESTX connexion |
15 | कार्यसम्पादन | अनुरोधहरूको संख्या ठूलो हुँदा ढिलो कार्यसम्पादन। | भरि निरन्तर प्रदर्शन। |
16 | खुला स्रोत योगदानहरू | थप संख्या काँटाहरू, घडीहरू र कमिटहरू। | फोर्कहरू, घडीहरू, र कमिटहरूको कम संख्या। |
17 | विकासकर्ताहरू | अनुभवी विकासकर्ताहरू चाहिन्छ र भर्तीका लागि सजिलै उपलब्ध हुँदैनन्। | अधिकांश विकासकर्ताहरू कम अनुभवी छन् र पर्याप्त संख्यामा फेला परेका छन्। |
फ्लास्क बनाम नोड
वेब डेभलपमेन्ट स्ट्याकको सन्दर्भमा, यो बाहिर जान्छ कि वेबको लागि विकास गर्न विभिन्न प्रविधिहरूको एकीकरण आवश्यक छ। हामीले वेब अनुप्रयोगलाई फ्रन्टएन्ड र ब्याकइन्डमा विभाजन गर्न आवश्यक छ। एप्लिकेसनको अगाडिको भागलाई जाभास्क्रिप्ट, एचटीएमएल र CSS जस्ता ब्राउजरमा चल्ने प्रविधिहरूमा राम्रोसँग विकसित गरिएको छ।
सामान्यतया, ब्याकइन्ड सर्भरका लागि उपयुक्त हुने भाषाहरूमा विकसित हुन्छ- छेउमा छ र आवश्यक हुँदा अन्तर्निहित अपरेटिङ सिस्टम, जडित डाटाबेस, वा नेटवर्कसँग अन्तरक्रिया गर्न सक्छ।
तथापि, NodeJS भनिने जाभास्क्रिप्ट-आधारित फ्रेमवर्कले माथि दिइएको दृश्य परिवर्तन गर्यो र