मैं बैकएंड और फ्रंटएंड के बीच तंग युग्मन के विवादास्पद विचार का दृढ़ आस्तिक हूं: मैं बैकएंड के बारे में मौजूदा, अंतर्निहित ज्ञान को उपयोगकर्ता इंटरफेस उत्पन्न करते समय स्वचालित रूप से उपयोग करने के लिए चाहता हूं। उदाहरण के लिए, यदि एक वर्चर कॉलम में अधिकतम 20 वर्ण हैं, तो वहां GUI को उपयोगकर्ता को संबंधित फॉर्म फ़ील्ड में 20 से अधिक वर्ण टाइप करने से रोकना चाहिए।तंग डीबी/जीयूआई युग्मन के लिए एक अजगर वेब अनुप्रयोग ढांचा?
और मेरे पास ओआरएम के लिए मजबूत एंटीपैथी है जो मेरी डेटाबेस टेबल को परिभाषित करना चाहता है, या कुछ हैक पर आधारित है जहां प्रत्येक तालिका को ORM की वजह से अतिरिक्त संख्यात्मक आईडी कॉलम होना चाहिए।
मैंने पाइथन डेटाबेस ढांचे में थोड़ा सा देखा है और मुझे लगता है कि मैं निष्कर्ष निकाल सकता हूं कि स्क्लेक्लेमी मेरी मानसिकता के लिए सबसे अच्छा फिट बैठता है।
अब, मुझे एक वेब अनुप्रयोग ढांचा खोजने की ज़रूरत है जो स्वाभाविक रूप से स्क्लेक्लेमी (या समकक्ष) के साथ फिट बैठती है और शायद युग्मन के लिए मेरी भूख के साथ भी।
- स्वचालित रूप से एक उपयुक्त प्रपत्र विजेट का चयन करें: "वेब अनुप्रयोग फ्रेमवर्क" के साथ, मेरा मतलब है इस तरह के Pyhons, Django, TurboGears, web2py, आदि
उदाहरण के रूप में उत्पादों/परियोजना है, यह आदर्श रूप में सक्षम होना चाहिए किसी दिए गए कॉलम में प्रवेश करने वाले डेटा के लिए ऐसा करने के लिए कहा गया है; उदाहरण के लिए, यदि कॉलम में 10 अलग-अलग मानों वाले कॉलम के लिए एक विदेशी कुंजी है, तो विजेट को 10 संभावित मानों को ड्रॉपडाउन
- स्वत: जेनरेट फ़ॉर्म सत्यापन कोड उत्पन्न करना चाहिए जो अंतिम उपयोगकर्ता त्वरित त्रुटि प्रतिक्रिया देता है स्ट्रिंग एक क्षेत्र के बारे में जो एक पूर्णांक कॉलम में खत्म करने के लिए है, आदि में दर्ज किया जाता
- डेटा के लिए एक कैलेंडर विजेट जो एक तिथि कॉलम में खत्म हो जाएगा स्वत: जनरेट
- संकेत नहीं NULL बाधाओं जावास्क्रिप्ट के रूप में जो किसी संबंधित इनपुट फ़ील्ड में खाली या सफेद स्थान-केवल डेटा के बारे में शिकायत करता है
- जो प्रासंगिक (सरल) चेक-बाधाओं से मेल खाता है जावास्क्रिप्ट सत्यापन कोड उत्पन्न
- , यह बचने एसक्यूएल इंजेक्शन करने के लिए आसान तैयार बयान और/या बाह्य व्युत्पन्न डेटा के सत्यापन का उपयोग करके
- यह से बचने के लिए आसान बनाने के क्रॉस साइट स्क्रिप्टिंग स्वचालित रूप से बाहर जाने वाले तार से बचने जब बाधा नाम की उचित
- मेकअप उपयोग कुछ हद तक उपयोगकर्ता के अनुकूल त्रुटि संदेश मामले में एक constrataint उल्लंघन किया जाता है उत्पन्न करने के लिए
यह सब गतिशील रूप से होना चाहिए, इसलिए तालिका समायोजन स्वचालित रूप से फ्रंटिंग पर दिखाई देता है - शायद एक कैशिंग तंत्र के साथ, ताकि सभी मॉडल आत्मनिरीक्षण प्रदर्शन को मार न सके। दूसरे शब्दों में, मैं अपनी मॉडल परिभाषा को किसी XML फ़ाइल (या समान रूप से) में दोहराना नहीं चाहता हूं, जब इसे पहले से ही मेरे डेटाबेस में सावधानी से परिभाषित किया गया हो।
क्या इस तरह का ढांचा पाइथन (या किसी भी भाषा के लिए, उस मामले के लिए) के लिए मौजूद है? यदि नहीं: यदि मैं उपर्युक्त सुविधाओं के हिस्सों को स्वयं जोड़ना चाहता हूं तो कई पाइथन वेब एप्लिकेशन ढांचे में से कौन सा तरीका कम से कम होगा?
क्या Django SQLAlchemy के साथ अच्छी तरह से खेलते हैं, हालांकि? आखिर में मैंने सुना होगा, Django + SA शाखा moribund था, और मूल सवाल एसए निर्दिष्ट पसंद के ओआरएम के रूप में निर्दिष्ट किया। –