Re: Add your own template library

45 views
Skip to first unread message

Laxmikant Gurnalkar

unread,
Oct 1, 2012, 12:15:21 AM10/1/12
to django...@googlegroups.com
Hi Ashish,
Is there __init__.py in your templatetags directory ?

cheers
Laxmikant


On Mon, Oct 1, 2012 at 9:36 AM, Ashish Jain <ashishj...@gmail.com> wrote:
Hi,

I have created a custom template tags library which I would like to use across my application.
I referred this code snippet, http://djangosnippets.org/snippets/342/

but still when I refer the tag in my code as: {% load repeat %}.

It says 'repeat' is not a valid tag library, tried django.templatetags.repeat,django.contrib.staticfiles.templatetags.repeat

Any help would be appreciated.

- Thanks
Ashish

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/4AqRRolTYK0J.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.



--
GlxGuru

Ashish Jain

unread,
Oct 1, 2012, 12:59:44 AM10/1/12
to django...@googlegroups.com
Hi,

Yes it do have __init__.py

I have created a simple project of template tags and have installed it as a python package with setup.py.

After which I am referring it into my website.

- Thanks for reply

Ashish Jain

unread,
Oct 1, 2012, 3:58:47 AM10/1/12
to django...@googlegroups.com

For reference, I have manage.py as:

#!/usr/bin/env python

import os

import sys


# http://djangosnippets.org/snippets/342/

def load_templatetags():

  from django.conf import settings

  from django.template import add_to_builtins


  try:

   for lib in settings.TEMPLATE_TAGS:

     print 'loading template tag %s'% lib

     add_to_builtins(lib)

   print django.template.builtins[3].tags

   t = django.template.Template('{% load repeat %}')

   print t

  except AttributeError:

  pass


if __name__ == "__main__":

  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "website.settings")

  from django.core.management import execute_from_command_line


  execute_from_command_line(sys.argv)


  load_templatetags()


In the print statements, I get the third loaded library has tags 'repeat'
but,
   t = django.template.Template('{% load repeat %}')
throws the same error.

- Regards
Ashish

Tom Evans

unread,
Oct 1, 2012, 4:43:03 AM10/1/12
to django...@googlegroups.com
On Mon, Oct 1, 2012 at 5:59 AM, Ashish Jain <ashishj...@gmail.com> wrote:
> Hi,
>
> Yes it do have __init__.py
>
> I have created a simple project of template tags and have installed it as a
> python package with setup.py.
>
> After which I am referring it into my website.
>
> - Thanks for reply
>

You can only load template libraries from apps. Is your template
library contained within an app listed in INSTALLED_APPS?

Cheers

Tom

Ashish Jain

unread,
Oct 1, 2012, 4:54:22 AM10/1/12
to django...@googlegroups.com, teva...@googlemail.com

Thanks for the reply. Got the code working.
It was my mistake the way I was using template in my html page.

I had html page as:

  {%load repeat%}
  ..
  {% repeat data %} {% endrepeat %}

I was not required to add  "{%load repeat%}" line, which was resulting into error. Straightway the repeat can be used.

- Thanks

Javier Guerra Giraldez

unread,
Oct 1, 2012, 8:31:23 AM10/1/12
to django...@googlegroups.com
On Sun, Sep 30, 2012 at 11:59 PM, Ashish Jain <ashishj...@gmail.com> wrote:
> After which I am referring it into my website.

... and on settings.py?

--
Javier

Ashish Jain

unread,
Oct 2, 2012, 11:05:59 PM10/2/12
to django...@googlegroups.com
And in settings.py, I have:

TEMPLATE_TAGS = (

  'templatemyweb.tags.repeat',

)


with which I am using this code snippet, http://djangosnippets.org/snippets/342/


- Regards
Ashish
Reply all
Reply to author
Forward
0 new messages