2012-01-25 11 views
5

Bazı HTML'leri "derlemek" için Django şablonlama motorunu/dilini kullanan bir uygulama yapıyorum. Ancak, uygulama Django'da çalışmıyor ve tüm yapılandırma ve malzeme yok. Bunu kullanmaya çalıştığınızda , aşağıdaki hatayı alıyorum:Django'nun geçici motorunu Django'nun geri kalanı olmadan kullanma

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

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

şablon Python dosyasıyla aynı dizinde:

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 

kullanıyorum kodu şudur.

+2

Olası [yinelenen] (http://stackoverflow.com/questions/98135/how-do-i-use-django-templates-without-the-rest-of-django) – reclosedev

+0

İşte Django üzerinde çalışan bir cevabı > = 1.8 http://stackoverflow.com/a/34494931/817277 – Pramod

cevap

8

Tek başına bir çözüm olarak Django şablonları yerine Jinja2 kullanılmasını öneririm.

+1

Bunu ikincisiyim. Eğer zaten Django şablonlarına aşina iseniz, Jinja2'yi nasıl kullanacağınızı bilirsiniz. Neredeyse aynılar ama Jinja daha iyi imho. – GivP

+0

Jinja2 python3 desteği hala deneysel – niklas

3

Yükleyicinin şablonlarınızı bulması için; Şablonların kopyasında settings.py içinde bulunduğu dizinin olması gerekir. Varsayılan olarak django, bir uygulama'un içinde birdizinini arayacaktır; böylece bir uygulama kayıtlı değilse; django, şablonları bulamıyor.

bir şablon motoru "gibi django", jinja en sözdizimi django çok yakındır ve tamamen kendi kendine yeten sonra ise artık karşı karşıya olduğu, beklenmedik sorunlarla yayınlanmaz.

6

Bunu kullanmayı denediniz mi? şablonlar piton koduyla aynı dizinde olduğundan yükleyici şablonu bulmak için

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

, bu yeterli olmalı.

+0

Kullanıcının çalışıp çalışmadığını görmek için bunu test etti mi? –

İlgili konular