Синтаксис Django двоеточия в тегах шаблона: только в новых версиях? - PullRequest
1 голос
/ 14 июня 2010

Я только что развернул приложение на новом сервере, и хотя я использую virtualenv, мне пришлось установить новую рабочую среду на рабочем сервере с другой архитектурой.

В любом случае, я не получилTemplateSytaxErrors в разработке, но на рабочем сервере я получаю:

Exception Type:     TemplateSyntaxError
Exception Value:    Caught SyntaxError while rendering: invalid syntax (views.py, line 25)

Неправильная строка:

{% url admin:password_change as password_change_url %}

После удаления этой строки TemplateSyntaxError переходит к следующей строке, котораядвоеточие в нем (и позволяет другим тегам шаблона работать нормально).

Итак, мой вопрос заключается в следующем: есть ли расхождения в версиях Python / Django, которые разрешают или запрещают синтаксис пространства имен?* Теги шаблонов находятся в django-grappelli (http://code.google.com/p/django-grappelli/),, поэтому я бы предпочел не просматривать их код и переписать все теги шаблонов.

Сервер разработки:

  • 32-битный Debian
  • Python 2.5.5
  • Django 1.2.1

Рабочий сервер:

  • 64-битный CentOS
  • Python 2.4.3
  • Django 1.2.1

Есть идеи?

1 Ответ

1 голос
/ 15 июня 2010

При ближайшем рассмотрении я понял, что это не оскорбительная строка, хотя она была выделена в трассировке:

{% url admin:password_change as password_change_url %}

Строка была на самом деле в моем views.py, где я использовал троичный оператор ("this" if condition else "that"). Мало ли я знаю, этот синтаксис поддерживается только в Python 2.5 и выше.

Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...