Actualmente estoy escribiendo algunas etiquetas de plantilla personalizadas, pero por alguna razón no se cargarán. Mi estructura de directorios es la siguiente:Problema al cargar etiquetas de plantilla personalizadas (Error: ningún módulo llamado x)
MyProj
|
----MyApp
|
|----templatetags
|
|----myapp_tags.py
|----__init__.py
En myapp_tags.py
from django.template import Library, Node
from myproj.myapp.models import Product
register = Library()
class LatestProductsNode(Node):
def render(self, context):
context['recent_products'] = Product.objects.all()[:5]
return ''
def get_latest_products(parser, token):
return LatestProductsNode()
get_latest_products = register.tag(get_latest_products)
En settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'myproj.myapp',
)
en la plantilla
{% load myapp_tags %}
El error que consigo al intentar cargar la página:
Exception Type: TemplateSyntaxError Exception Value:
'myapp_tags' is not a valid tag library: Could not load template library from django.templatetags.myapp_tags, No module named myapp_tags
se puede comprobar [esto] [1] que tiene más detalles que le ayudarán a [1]: http://stackoverflow.com/questions/8607544/django-could-not-load-template -tag/21588173 # 21588173 – msoliman