2010-01-21 19 views
7

Jako długoletni programista PHP jestem przyzwyczajony do ustawienia poziomu błędu dla mojej aplikacji, aby ostrzegać mnie, gdy używam niezainicjowanej zmiennej. Zastanawiam się, czy podobna funkcja istnieje w Django, gdzie mogę wykryć w czasie wykonywania, że ​​używam zmiennej w moim szablonie, która nie została jawnie przekazana do szablonu przez widok?Wykrywanie nie ustawionych zmiennych w szablonach Django

Na przykład, ja błędnie nazwę zmiennej w szablonie

{{ mysearch }} 

kiedy powinien już był

{{ my_search }} 

Częstym błędem, nie zwracając uwagi podczas pisania, itd. W PHP chciałbym widziałem ostrzeżenie o używaniu zmiennej bez injekcji, ale Django nie wydaje się tym przejmować i po prostu kontynuuje, jakby nic się nie wydarzyło. Z perspektywy debugowania byłoby świetnie wykryć, kiedy popełniłem taki błąd.

Jakieś myśli?

Odpowiedz

6

Szukasz tego? http://docs.djangoproject.com/en/1.1/ref/templates/api/#invalid-template-variables

Czy próbowałeś ustawić TEMPLATE_STRING_IF_INVALID? np

TEMPLATE_STRING_IF_INVALID = 'DEBUG WARNING: template variable [%s] is not defined' 

To powoduje, że łańcuch jest drukowane w wypełnioną HTML dla każdego miejsca, w którym zmienna zdefiniowana odniesiono, wraz z nazwą zmiennej.

Przeczytaj to: http://docs.djangoproject.com/en/1.1/ref/settings/#setting-TEMPLATE_STRING_IF_INVALID

+0

Moim problemem było to, że nie wiedział, jak * * wrobić pytanie jest w taki sposób, że Google mógłby mi znaleźć odpowiedź. Dzięki wielkie! – GrumpyCanuck

+0

Nie korzystałem z Google. Przerzuciłem strony dokumentacji szablonu na stronie Django. –

Powiązane problemy