फ्लास्क-सिक्योरिटी द्वारा प्रदान किए गए उदाहरण कोड का उपयोग करके, मैं सामान्य रूप से /login
रूट से login_user.html
फ़ॉर्म तक पहुंच सकता हूं और यह ठीक काम करता है। हालांकि, मैं ऊपरी बाईं ओर अपनी सभी साइट के पृष्ठों पर लॉगिन फॉर्म एम्बेड करना चाहता हूं। मैंने सोचा कि मैं base.html
में फॉर्म रखने के लिए जिन्जा {% include "security/login_user.html" %}
कथन का उपयोग कर सकता हूं, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। यामैं अपने पृष्ठ पर एक फ्लास्क-सुरक्षा लॉगिन फॉर्म कैसे एम्बेड करूं?
jinja2.exceptions.UndefinedError: 'login_user_form' is undefined
वहाँ एक रास्ता शामिल करने के लिए है एक और टेम्पलेट के अंदर लॉगिन फ़ॉर्म एम्बेड और अभी भी संबंधित प्रपत्र वस्तु तक पहुँच प्राप्त: मैं निम्नलिखित त्रुटि मिलती है?
यह स्पष्ट उत्तर है, लेकिन यह इस मामले में बहुत उपयोगी नहीं है। आप उन्हें प्रत्येक दृश्य के लिए मैन्युअल रूप से उस फॉर्म को बनाने और पास करने के लिए कह रहे हैं। आप यह नहीं दिखाते कि फॉर्म कहां प्राप्त करें (यह फ्लास्क-सुरक्षा से है)। और उस फ़ॉर्म के अलावा अन्य संदर्भ भी है कि उस टेम्पलेट की आवश्यकता है। भले ही आपने 'context_processor' के साथ इंजेक्शन दिया हो, फिर भी वह वास्तविक समस्या को याद करता है, जो कि' login_user.html' एक पूर्ण पृष्ठ टेम्पलेट है, प्रत्येक पृष्ठ पर एक छोटे से फॉर्म को इंजेक्ट करने के लिए उचित नहीं है। – davidism