2012-01-25 10 views
5

के बिना मैं एक एप्लिकेशन बना रहा हूं, जो कुछ HTML को "संकलित" करने के लिए Django templating इंजन/भाषा का उपयोग करता है। हालांकि, ऐप Django पर नहीं चलता है, और इसमें सभी कॉन्फ़िगरेशन और सामान नहीं हैं। जब मैं इसका इस्तेमाल करने की कोशिश करते हैं, मैं निम्नलिखित त्रुटि मिलती है:Django के टेम्पलेटिंग इंजन का उपयोग बाकी Django

from django.template import loader, Context 
from django.conf import settings 

template = loader.get_template("email.html") 
rendered = template.render(data) 

टेम्पलेट अजगर फ़ाइल के रूप में एक ही निर्देशिका में है:

Traceback (most recent call last): 
    File "Send.py", line 33, in <module> 
    template = loader.get_template("email.html") 
    File "/Library/Python/2.7/site-packages/django/template/loader.py", line 157, in get_template 
    template, origin = find_template(template_name) 
    File "/Library/Python/2.7/site-packages/django/template/loader.py", line 138, in find_template 
    raise TemplateDoesNotExist(name) 
django.template.base.TemplateDoesNotExist: email.html 

कोड मैं उपयोग कर रहा हूँ निम्नलिखित है।

+2

संभावित [डुप्लिकेट] (http://stackoverflow.com/questions/98135/how-do-i-use-django-templates-without-the-rest-of-django) – reclosedev

+0

यहां एक उत्तर है जो Django पर काम करता है > = 1.8 http://stackoverflow.com/a/34494931/817277 – Pramod

उत्तर

8

मैं एक स्टैंडअलोन समाधान के रूप में Django टेम्पलेट्स के बजाय Jinja2 का उपयोग करने की सलाह दूंगा।

+1

मैं दूसरा हूं। यदि आप Django टेम्पलेट्स से पहले ही परिचित हैं तो आपको पता होगा कि Jinja2 का उपयोग कैसे करें। वे लगभग समान हैं लेकिन जिनजा बेहतर इमो है। – GivP

+0

Jinja2 python3 समर्थन अभी भी प्रयोगात्मक है – niklas

3

लोडर को आपके टेम्पलेट ढूंढने के लिए; आपको उस निर्देशिका की आवश्यकता है जहां टेम्पलेट्स में settings.py में टुपल स्थित हैं। डिफ़ॉल्ट रूप से django निर्देशिका किसी अनुप्रयोग के अंदर खोज करेगा ताकि आपके पास कोई एप्लिकेशन पंजीकृत न हो; django टेम्पलेट्स नहीं मिल सकता है।

यदि आप "django like" टेम्पलेट इंजन के बाद हैं, jinja django के वाक्यविन्यास के बहुत करीब है और पूरी तरह आत्मनिर्भर है, तो आप अब अप्रत्याशित समस्याओं में भाग नहीं पाएंगे।

6

क्या आपने इसका उपयोग करने की कोशिश की है?

settings.configure(TEMPLATE_DIRS=('.',)) 

के बाद से टेम्पलेट्स अजगर कोड के रूप में ही निर्देशिका में कर रहे हैं, इस लोडर टेम्पलेट को खोजने के लिए पर्याप्त होना चाहिए।

+0

क्या किसी ने यह देखने के लिए परीक्षण किया है कि यह काम करता है या नहीं? –

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