2010-12-27 13 views
7

mam ten błąd, gdy próbuję uruchomić ten przypadek testowy: co jest napisane w tests.py mojej aplikacji django:TemplateSyntaxError: „settings_tags” nie jest poprawnym biblioteka tag

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) 

moja wersja Django 1.2.1 i Python 2.6 i wersja Satchmo jest 0.9.2 pre-HG-nieznany

kompletny dziennik błędów jest:

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

Odpowiedz

19

wydaje mi się, prawdopodobnie masz kod jak {% load settings_tags %} gdzieś w tobie r szablon. Django szuka pliku templatetags/settings_tags.py w katalogach zainstalowanych aplikacji. Jest to wynikiem nie znalezienia takiego pliku. Może aplikacja, która go zawiera, nie jest w twoim INSTALLED_APPS, a może jest to literówka. Powinieneś dostać ten sam błąd, gdy umieścisz ten adres URL w przeglądarce.

+0

dzięki za pomoc: i umieszcza settings_tag w moim katalogu aplikacji pod folderem o nazwie templatetags –

+61

Nie jestem pewien, czy to normalne zachowanie, ale musiałem zrestartować serwer, aby załadować plik filtrów. – AJJ

+3

@AJweb Me too. Uruchomiłem serwer i zaczęło działać. –

15

Czasami dzieje się tak, gdy zapomniałeś wstawić __ init __.py do paczki.

+4

tak! właśnie stało się tutaj. – zVictor

+1

nice, jestem zbyt głupi> _ <' – maazza

+0

Czy plik '__init __. Py' musi zawierać coś konkretnego, czy powinien być pusty? – gtlambert

7

Jak @AJJ powiedział, może być konieczne ponowne uruchomienie serwera, aby uzyskać nowe tagi ładowane

+0

Ponowne wczytywanie serwera jest kluczowe! – gtlambert

0

Jest to wspólny issue dla tego pakietu. Kiedy je dostać od PyPI, nie zawiera szablon: settings_tag.py i że spowoduje błąd 'settings_tags' is not a valid tag library: Template library settings_tags not found.

Obecne rozwiązanie jest do zainstalować go z zamkiem github.

Powiązane problemy