2010-07-26 16 views
6

मैं जीएई के लिए नया हूं और मैं वेबपैप फ्रेमवर्क के साथ एक एप्लीकेशन बना रहा हूं। मैं सोच रहा था कि आप अपने ऐप में हैंडलर कब सेट करते हैं। जब आप उन्हें अपने डब्लूएसजीआई में परिभाषित करते हैं?Google ऐप इंजन: हैंडलर और डब्लूएसजीआई यूआरएल

पहले मैंने सोचा था कि आपके पास केवल एक main.py मुख्य फ़ाइल है जो WSGIAplplication चला रही है लेकिन मुझे पता है कि क्या आप जीएई प्रमाणीकरण का उपयोग करना चाहते हैं जिसे आप हैंडलर में परिभाषित करते हैं। तो इसका मतलब है कि आप एकाधिक WSGIApplications चलाते हैं?

मैं "लॉगिन या प्रशासक स्थिति की आवश्यकता" पर दस्तावेज़ पढ़ रहा था और ऐसा लगता है कि उनके पास विभिन्न भूमिकाओं के लिए अलग-अलग एप्लिकेशन हैं।

शायद ऐसा कुछ हो सकता है?

- general.py - लॉगिन:
- user.py - लॉग इन: आवश्यक
- admin.py: - लॉगिन: व्यवस्थापक

लेकिन शायद यह अपने WSGI यूआरएल सभी फैल करने के लिए बुरा है चारों ओर?

यदि आप GAE पर django चलाते हैं तो मुझे सही याद है, तो आप एक पीई फ़ाइल को इंगित करते हैं और ढांचे को सब कुछ संभालते हैं?

मैं Django का उपयोग नहीं करना चाहता हूं, तो आश्चर्य की बात है कि अगर किसी के पास वेबपैड के साथ यूआरएल/हैंडलर्स कैसे करें, तो कुछ पॉइंटर्स/सर्वोत्तम प्रथाएं थीं?

उत्तर

9

यूआरएल-रूटिंग का कोई भी तरीका स्वीकार्य है।

app.yaml आधारित यूआरएल मार्ग
आप आसानी से app.yaml रूटिंग (और प्राधिकरण) का उपयोग करने के अपने अनुप्रयोग की संरचना कर सकते हैं, तो यह कोशिश कर रहा लायक है: यह कम कोड आप डिबग करना होगा हो जाएगा परीक्षण, और बनाए रखें। http://google-app-engine-samples.googlecode.com/svn/trunk/gdata_feedfetcher/

प्रदर्शन app.yaml प्राधिकरण के साथ बेहतर होना चाहिए:: अपने अजगर स्क्रिप्ट यदि कोई उपयोगकर्ता के व्यवस्थापक है निर्धारित करने के लिए चलाने के लिए की जरूरत नहीं होगी

यहाँ एक उदाहरण (गूगल से) एकाधिक प्रवेश बिंदुओं के साथ है जगह।

एक यूआरएल-मानचित्रण तालिका
अपने अनुप्रयोग बुनियादी यूआरएल-मार्ग और प्राधिकरण से परे कुछ की जरूरत है, तो आप अपने आप को एक अपेक्षाकृत विरल app.yaml होने और एक बड़ा यूआरएल-मानचित्रण तालिका का उपयोग कर सकते हैं।

उदाहरण के लिए, आप सभी उपयोगकर्ताओं को एक पृष्ठ प्रदर्शित करना चाहते हैं, लेकिन इसके अलावा व्यवस्थापक के लिए एक "लॉगिन" लिंक दिखाना चाहते हैं। This code (for a simple blog) इस संरचना का उपयोग करता है।

+0

धन्यवाद एडम उदाहरण कोड हमेशा अच्छा होता है। ब्लॉग कोड वास्तव में मेरी मदद करेगा। – Pickels

+0

एकाधिक हैंडलर एप्लिकेशन के लोड समय में नहीं जोड़ते हैं? उन्हें एक ही मॉड्यूल आयात करना होगा और एकाधिक हैंडलर केवल 1 से अधिक स्थान का उपयोग करेंगे। – stesch

संबंधित मुद्दे