2010-12-27 5 views
7

ich diese Fehlermeldung bekam, wenn ich versuche, diesen Testfall auszuführen: die in tests.py meiner django Anwendung steht geschrieben:TemplateSyntaxError: ‚settings_tags‘ ist kein gültiger Tag-Bibliothek

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) 

meine django Version ist 1.2.1 und python 2.6 und satchmo Version ist 0.9.2-pre hg unbekanntes

das komplette Fehlerprotokoll ist:

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

Antwort

19

Es scheint mir, Sie wahrscheinlich in Ihnen einen Code wie {% load settings_tags %} irgendwo r Vorlage. Django sucht nach der Datei templatetags/settings_tags.py in den Verzeichnissen Ihrer installierten Apps. Dies ist das Ergebnis einer Datei wie dieser nicht zu finden. Vielleicht ist die App, die es enthält, nicht in deinem INSTALLED_APPS oder vielleicht ist es ein Tippfehler. Sie sollten den gleichen Fehler erhalten, wenn Sie diese URL in Ihren Browser eingeben.

+0

danke für ure help: Ich setze settings_tag in mein App-Verzeichnis unter dem Ordner templatetags –

+61

Ich bin mir nicht sicher, ob dies normales Verhalten ist, aber ich musste den Server neu starten, um die Filterdatei geladen zu haben. – AJJ

+3

@AJweb Ich auch. Ich habe den Server neu gestartet und es hat angefangen zu arbeiten. –

15

Manchmal passiert dies, wenn Sie vergessen haben, __ init __.py in das Paket zu legen.

+4

ja! ist gerade hier passiert. – zVictor

+1

schön, ich bin viel zu dumm> _ <' – maazza

+0

Muss die Datei '__init __. Py' etwas enthalten, oder sollte sie leer sein? – gtlambert

7

Wie @AJJ sagte, können Sie den Server neu starten müssen, um die neuen Tags zu erhalten geladen

+0

Das Neuladen des Servers ist der Schlüssel! – gtlambert

0

Dies ist ein gemeinsames issue für dieses Paket. Wenn Sie es aus pypi bekommen, ist es nicht enthält die Template-Tag: settings_tag.py und das wird den Fehler 'settings_tags' is not a valid tag library: Template library settings_tags not found.

Die aktuelle Lösung ist installieren Sie es von der Github zip verursachen.