TemplateSyntaxError: 'settings_tags' is not a valid tag library
Asked Answered
L

4

7

i got this error when i try to run this test case: WHICH IS written in tests.py of my django application:

def test_accounts_register( self ):
    self.url = 'http://royalflag.com.pk/accounts/register/'
    self.c = Client()
    self.values = {
        'email': '[email protected]',
        'first_name': 'bilal',
        'last_name': 'bash',
        'password1': 'bilal',
        'password2': 'bilal',
    }
    self.response = self.c.post( self.url, self.values )

my django version is 1.2.1 and python 2.6 and satchmo version is 0.9.2-pre hg-unknown

the complete error log is:

    .E....
======================================================================
ERROR: test_accounts_register (administration.tests.AccountsRegisterTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\pytho\satchmo\administration\tests.py", line 53, in test_accounts_reg
ister
    self.response = self.c.get( self.url )
  File "C:\django\django\test\client.py", line 290, in get
    response = self.request(**r)
  File "C:\django\django\test\client.py", line 230, in request
    response = self.handler(environ)
  File "C:\django\django\test\client.py", line 74, in __call__
    response = self.get_response(request)
  File "C:\django\django\core\handlers\base.py", line 141, in get_response
    return self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "C:\django\django\core\handlers\base.py", line 180, in handle_uncaught_ex
ception
    return callback(request, **param_dict)
  File "C:\django\django\views\defaults.py", line 23, in server_error
    t = loader.get_template(template_name) # You need to create a 500.html templ
ate.
  File "C:\django\django\template\loader.py", line 157, in get_template
    template, origin = find_template(template_name)
  File "C:\django\django\template\loader.py", line 134, in find_template
    source, display_name = loader(name, dirs)
  File "C:\django\django\template\loader.py", line 42, in __call__
    return self.load_template(template_name, template_dirs)
  File "C:\django\django\template\loader.py", line 48, in load_template
    template = get_template_from_string(source, origin, template_name)
  File "C:\django\django\template\loader.py", line 168, in get_template_from_str
ing
    return Template(source, origin, name)
  File "C:\django\django\template\__init__.py", line 158, in __init__
    self.nodelist = compile_string(template_string, origin)
  File "C:\django\django\template\__init__.py", line 186, in compile_string
    return parser.parse()
  File "C:\django\django\template\__init__.py", line 282, in parse
    compiled_result = compile_func(self, token)
  File "C:\django\django\template\defaulttags.py", line 921, in load
    (taglib, e))
TemplateSyntaxError: 'settings_tags' is not a valid tag library: Template librar
y settings_tags not found, tried django.templatetags.settings_tags,satchmo_store
.shop.templatetags.settings_tags,django.contrib.admin.templatetags.settings_tags
,django.contrib.comments.templatetags.settings_tags,django.contrib.humanize.temp
latetags.settings_tags,livesettings.templatetags.settings_tags,sorl.thumbnail.te
mplatetags.settings_tags,satchmo_store.contact.templatetags.settings_tags,tax.te
mplatetags.settings_tags,pagination.templatetags.settings_tags,product.templatet
ags.settings_tags,payment.templatetags.settings_tags,payment.modules.giftcertifi
cate.templatetags.settings_tags,satchmo_utils.templatetags.settings_tags,app_plu
gins.templatetags.settings_tags,tinymce.templatetags.settings_tags

----------------------------------------------------------------------
Ran 6 tests in 47.468s

FAILED (errors=1)
Destroying test database 'default'...
Lavona answered 27/12, 2010 at 14:14 Comment(0)
T
18

It seems to me you probably have a code like {% load settings_tags %} somewhere in your template. Django looks for templatetags/settings_tags.py file in your installed apps' directories. This is the result of not finding a file like this. Maybe the app, which contains it is not in your INSTALLED_APPS or maybe it's a typo. You should be getting the same error when you put this url in your browser.

Thalassic answered 27/12, 2010 at 21:29 Comment(5)
thanks for ure help: i places settings_tag into my app directory under the folder named templatetagsLavona
I am not sure if this is normal behavior but I had to restart the server to have the filters file loaded.Crock
@AJweb Me too. I restarted the server and it started working.Leesen
Server restart helped! This must be a bug - and you sir @AJweb should are great!Stacistacia
I think restarting the server is necessary.Restarting the server worked in my case too.Radome
C
15

Sometimes this happens when you forgot to put an __ init __.py in the package.

Chattel answered 4/6, 2012 at 11:7 Comment(3)
nice, I am way too dumb >_<'Understrapper
Does the __init__.py file have to include anything in particular, or should it be empty?Inchmeal
It's fine for it to be empty.Chattel
D
7

Like @AJJ said, you may have to restart the server to get the new tags loaded

Donica answered 14/6, 2012 at 8:9 Comment(1)
Reloading the server is key!Inchmeal
H
0

This is a common issue for this package. When you get it from pypi, it does not contains the template tag: settings_tag.py and that will cause the error 'settings_tags' is not a valid tag library: Template library settings_tags not found.

The current solution is to install it from the github zip.

Henshaw answered 7/3, 2017 at 19:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.