में रनटाइम पर्यावरण खोजने का कोई आसान तरीका है पिरामिड में, मुझे अपने टेम्पलेट्स को विभिन्न रनटाइम वातावरण के अनुसार प्रस्तुत करना होगा - Google Analytics सक्षम करें, मिनीफाईड कोड का उपयोग करें, आदि (जब उत्पादन में)। क्या वर्तमान वातावरण को खोजने का कोई आसान तरीका है - शायद यह पता लगाने के लिए कि कौन सी आईएनआई फाइल का उपयोग किया गया था?क्या पिरामिड
उत्तर
पिरामिड INI:
PYRAMID_ENV=production python server.py
पर्यावरण चर के लिए उपयोग पर डॉक्स फाइलें arbitrary configuration entries रख सकती हैं, तो क्यों अपनी फाइलों में एक ध्वज शामिल नहीं है जो उत्पादन और विकास तैनाती के बीच अंतर करता है?
मैं इसे ऐसा करूँगा;
[app:main]
production_deployment = True # Set to False in your development .ini file
पास पिरामिड कौन्फ़िगरेटर करने पर यह मान: अपने उत्पादन .ini फ़ाइल में
def main(global_config, **settings):
# ...
from pyramid.settings import asbool
production_deployment = asbool(settings.get(
'production_deployment', 'false'))
settings['production_deployment'] = production_deployment
config = Configurator(settings=settings)
अब आप अपने पिरामिड कोड में बस के बारे में कहीं से भी सेटिंग को एक्सेस कर सकते हैं। उदाहरण के लिए, एक अनुरोध हैंडलर में:
settings = request.registry.settings
if settings['production_deployment']:
# Enable some production code here.
हालांकि, मैं भी इस मामले में अधिक पैमाने के दाना में से सेटिंग्स का उपयोग करें चाहते हैं; Google Analytics को सक्षम करने के लिए एक ध्वज, संसाधनों को कम करने के लिए एक ध्वज इत्यादि। इस तरह आप अपने विकास पर्यावरण में प्रत्येक व्यक्तिगत सेटिंग का परीक्षण कर सकते हैं, इन स्विचों के लिए यूनिट परीक्षण आदि लिख सकते हैं।
मैंने इस तरह की चीज़ को पर्यावरणीय चर के रूप में सेट किया है जैसे PYRAMID_ENV
जिसे os.environ
के माध्यम से देखा जा सकता है। अपने कोड में उदाहरण के लिए:
import os
pyramid_env = os.environ.get('PYRAMID_ENV', 'debug')
if pyramid_env == 'debug':
# Setup debug things...
else:
# Setup production things...
तो फिर तुम init स्क्रिप्ट में चर सेट या कर सकते हैं जब सर्वर शुरू कर: http://docs.python.org/library/os.html#os.environ
- 1. पिरामिड
- 2. पिरामिड
- 3. पिरामिड
- 4. पिरामिड
- 5. पिरामिड
- 6. पिरामिड
- 7. पिरामिड सब्रेक्वेस्ट
- 8. पिरामिड प्रोजेक्ट
- 9. पिरामिड xhr.abort()
- 10. पिरामिड लॉगिंग
- 11. मैक्रो पिरामिड
- 12. पिरामिड चेकबॉक्स
- 13. क्या पिरामिड में सिग्नल/स्लॉट सिस्टम है
- 14. पिरामिड: पिरामिड/पायथन में PHP फ्रेमवर्क में एमवीसी के बराबर?
- 15. पिरामिड AuthTktAuthenticationPolicy गुप्त पैरामीटर
- 16. पिरामिड: एप्लिकेशन पूर्ण यूआरएल
- 17. पायथन पिरामिड ट्रैवर्सल
- 18. पिरामिड और .ini कॉन्फ़िगरेशन
- 19. मुद्रण पिरामिड पहेली
- 20. पिरामिड संसाधन: सादा अंग्रेजी में
- 21. मैं कैसे पायथन पिरामिड से
- 22. पिरामिड और फॉर्मएल्केमी व्यवस्थापक इंटरफ़ेस
- 23. अजगर पिरामिड मार्ग विन्यास में क्वेरी स्ट्रिंग
- 24. पिरामिड/स्क्लाक्लेमी वेब ऐप्स का उन्नयन
- 25. पिरामिड + जिन्जा 2 और नया जीएई रनटाइम
- 26. पिरामिड (पायथन): डिफ़ॉल्ट त्रुटि दृश्य ओवरराइड करें
- 27. संग्रहीत वस्तुओं के लिए पिरामिड प्रमाणीकरण
- 28. अतिरिक्त क्वेरी तर्कों के साथ पिरामिड रूट_यूआरएल
- 29. पिरामिड (पिलोन उपयोगकर्ता) में टेम्पलेट संदर्भ के बराबर
- 30. पिरामिड। सुरक्षा प्रश्न: डबल कुकीज़? असुरक्षित कुकीज़? समय सीमा समाप्ति?
स्वीट ब्रो! उन युक्तियों के लिए धन्यवाद –