gpt4 book ai didi

python - 模板标签中的 Django 冒号语法 : only in newer versions?

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:05 27 4
gpt4 key购买 nike

我刚刚将应用程序部署到新服务器,尽管我使用的是 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

有什么想法吗?

最佳答案

经过仔细检查,我意识到这不是有问题的行,即使它在回溯中突出显示:

{% url admin:password_change as password_change_url %}

该行实际上在我的views.py 中,我在其中使用了三元运算符("this"if condition else "that")。我几乎不知道,这种语法仅在 Python 2.5 及更高版本中受支持。

问题已解决。

关于python - 模板标签中的 Django 冒号语法 : only in newer versions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040356/

27 4 0