स्टेटिक फ़ाइलें
te में किसी दिए गए निर्देशिका में फ़ाइल सेवाएं प्रदान करने के लिए एक फ़ाइल सर्वर भी शामिल है StaticFiles कक्षा:
स्थिर फ़ाइल
हस्ताक्षर: StaticFiles(directory=None, packages=None, html=False, check_dir=True, follow_symlink=False)
directoryएक स्ट्रिंग या os। निर्देशिका पथ का प्रतिनिधित्व करने वाला PathLike।packagesपायथन पैकेज के लिए स्ट्रिंग्स या स्ट्रिंग ट्यूपल्स की एक सूची।html- मोड में चलता है। यदि ऐसी फ़ाइल मौजूद है, तो यह निर्देशिका के लिए स्वचालित रूप से लोड हो जाएगाindex.html...check_dir- सुनिश्चित करें कि तत्काल होने पर निर्देशिका मौजूद है। डिफ़ॉल्ट हैTrue...follow_symlink- एक बूलियन मान जो दर्शाता है कि फ़ाइलों और निर्देशिकाओं के प्रतीकात्मक लिंक का पालन किया जाना चाहिए या नहीं। डिफ़ॉल्ट हैFalse...
आप व्यापक स्थैतिक फ़ाइल सेवाएं प्रदान करने के लिए te के रूटिंग के साथ इस ASGI एप्लिकेशन को जोड़ सकते हैं।
te.से आयात
स्टारलेट से। रूटिंग आयात माउंट
te.staticसे Staticआयात करें
मार्ग = [
...
माउंट ('/ स्थैतिक', ऐप = स्टेटिकफाइल्स (directory = 'static'), नाम = "स्थिर"),
]
ऐप = स्टारलेट (routes = routes)
बेमेल अनुरोधों के लिए, स्थिर फाइलें "404 नहीं मिला" या "405 विधि की अनुमति नहीं है" के साथ प्रतिक्रिया देंगी। मोड में, यदि 404.html फ़ाइल मौजूद है और 404 प्रतिक्रिया के रूप में प्रदर्शित की जाएगी।
packages पायथन पैकेज के भीतर "स्थिर" निर्देशिकाओं को शामिल करने के लिए विकल्पों का उपयोग किया जा सकता है। पायथन का "बूटस्ट्रैप 4" पैकेज एक ऐसा उदाहरण है।
te.से आयात
स्टारलेट से। रूटिंग आयात माउंट
te.staticसे Staticआयात करें
मार्ग = [
...
माउंट ('/ स्थैतिक', ऐप = स्टैटिकफाइल्स (निर्देशिका = 'स्थैतिक', पैकेज = ['bootstrap4']), नाम = "स्थैतिक"),
]
ऐप = स्टारलेट (routes = routes)
डिफ़ॉल्ट रूप से, StaticFiles प्रत्येक पैकेज में दिखेगा statics निर्देशिका, आप एक स्ट्रिंग टपल निर्दिष्ट करके डिफ़ॉल्ट निर्देशिका बदल सकते हैं।
मार्ग = [
...
माउंट ('/ स्थैतिक', ऐप = स्टैटिकफाइल्स (पैकेज = [('bootstrap4', 'स्थैतिक')]), नाम = "स्थैतिक"),
]
आप स्थैतिक फ़ाइलों को शामिल करने के लिए पायथन पैकेजिंग का उपयोग करने के बजाय सीधे "स्थिर" निर्देशिका में स्थैतिक फ़ाइलों को शामिल करना पसंद कर सकते हैं, लेकिन यह पुन: प्रयोज्य घटकों को बंडल करने के लिए उपयोगी हो सकता है।