आपको अपनी टेम्पलेट फ़ाइलों को सही स्थान पर बनाना होगा; templatesअपने अजगर मॉड्यूल के बगल में उपनिर्देशिका में ।
त्रुटि इंगित करती है कि निर्देशिका home.htmlमें कोई फ़ाइल नहीं है templates/। सुनिश्चित करें कि आपने उस निर्देशिका को अपने अजगर मॉड्यूल के समान निर्देशिका में बनाया है, और आपने वास्तव home.htmlमें उस उपनिर्देशिका में एक फ़ाइल डाल दी है । यदि आपका ऐप एक पैकेज है, तो पैकेज के अंदर टेम्प्लेट फ़ोल्डर बनाया जाना चाहिए ।
myproject/
app.py
templates/
home.html
myproject/
mypackage/
__init__.py
templates/
home.html
वैकल्पिक रूप से, यदि आपने अपने टेम्प्लेट फ़ोल्डर को इसके अलावा कुछ नाम दिया है templatesऔर इसे डिफ़ॉल्ट रूप से नाम बदलना नहीं चाहते हैं, तो आप फ्लास्क को अन्य निर्देशिका का उपयोग करने के लिए कह सकते हैं।
app = Flask(__name__, template_folder='template') # still relative to module
आप फ्लास्क से पूछ सकते हैं कि यह समझाने के लिए कि उसने EXPLAIN_TEMPLATE_LOADINGविकल्प को सेट करके कैसे किसी दिए गए टेम्पलेट को खोजने की कोशिश की True। लोड किए गए प्रत्येक टेम्प्लेट के लिए, आपको स्तर पर, फ्लास्क मेंapp.logger लॉग इन की रिपोर्ट मिलेगी INFO।
जब कोई खोज सफल होती है तो यही दिखता है; इस उदाहरण में foo/bar.htmlटेम्प्लेट टेम्पलेट को बढ़ाता है base.html, इसलिए दो खोजें हैं:
[2019-06-15 16:03:39,197] INFO in debughelpers: Locating template "foo/bar.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/foo/bar.html')
[2019-06-15 16:03:39,203] INFO in debughelpers: Locating template "base.html":
1: trying loader of application "flaskpackagename"
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- /.../project/flaskpackagename/templates
-> found ('/.../project/flaskpackagename/templates/base.html')
ब्लूप्रिंट अपने स्वयं के टेम्प्लेट निर्देशिकाओं को भी पंजीकृत कर सकते हैं, लेकिन यह एक आवश्यकता नहीं है यदि आप ब्लूप्रिंट का उपयोग कर रहे हैं ताकि तार्किक इकाइयों में एक बड़ी परियोजना को विभाजित करना आसान हो सके। मुख्य फ्लास्क ऐप टेम्प्लेट डायरेक्टरी हमेशा ब्लूप्रिंट प्रति अतिरिक्त पथों का उपयोग करते हुए हमेशा सबसे पहले खोजी जाती है।
template_folderपथ निर्धारित किया है ।