7 votes

TemplateSyntaxError : 'settings_tags' n'est pas une bibliothèque de balises valide

J'ai obtenu cette erreur lorsque j'ai essayé d'exécuter ce cas de test : qui est écrit dans le fichier tests.py de mon application django :

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

ma version de django est 1.2.1 et python 2.6 et la version de satchmo est 0.9.2-pre hg-unknown

le journal d'erreur complet est le suivant :

    .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'...

18voto

VoY Points 1715

Il me semble que vous avez probablement un code du type {% load settings_tags %} quelque part dans votre modèle. Django recherche templatetags/settings_tags.py dans les répertoires des applications installées. C'est le résultat de l'impossibilité de trouver un tel fichier. Il se peut que l'application qui le contient ne se trouve pas dans votre répertoire d'applications installées. INSTALLED_APPS ou peut-être s'agit-il d'une faute de frappe. Vous devriez obtenir la même erreur lorsque vous entrez cette adresse dans votre navigateur.

15voto

aladagemre Points 555

Cela arrive parfois lorsque vous avez oublié de mettre un __ init __.py dans le paquet.

7voto

Pierre de LESPINAY Points 7698

Comme @AJJ l'a dit, il se peut que vous deviez redémarrer le serveur pour que les nouvelles balises soient chargées.

0voto

javidazac Points 1140

Il s'agit d'une pratique courante question pour ce paquet. Lorsque vous le récupérez depuis pypi, il ne contient pas la balise template : settings_tag.py et cela provoquera l'erreur 'settings_tags' is not a valid tag library: Template library settings_tags not found.

La solution actuelle consiste à l'installer à partir du zip de github.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X