python - 在单个方法上启用 django 的 TEMPLATE_STRING_IF_INVALID

标签 python django

我创建了一个显示其他模板预览的 View 。我想在模板中显示空标签,所以我包含了

TEMPLATE_STRING_IF_INVALID = '%s'

... 在我的 settings.py 文件中。但是,我只想为特定 View 启用此设置,而不是在我的应用程序中全局启用。

提前致谢。 :)

最佳答案

from django.conf import settings

def myview(request):
    settings.TEMPLATE_STRING_IF_INVALID = '%s' # '%s' will get expanded to the variable name that was not found
    ...
    template = render(request, 'myview.html', {})
    settings.TEMPLATE_STRING_IF_INVALID = ''
    return template

请注意,这很丑陋。如果另一个用户在您将 TEMPLATE_STRING_IF_INVALID 重置回 '' 之前的短时间内请求不同的页面,那么他们可能会看到显示的无效标签。 Django docs say specifically NOT to do this , 但也有一个 open ticket建议某些设置可能没问题。

希望有更聪明的人来提供更好的解决方案。

关于python - 在单个方法上启用 django 的 TEMPLATE_STRING_IF_INVALID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587706/

相关文章:

python - 为什么 asyncio 子进程的行为与创建的事件循环不同,除非你 set_event_loop?

Django 喜欢按钮

python - AWS EC2 免费层 Django 应用程序

django - 错误 : Cannot find module 'socket.io/node_modules/redis' on Mac

python - PyQt DateEdit 小部件不默认为系统时间

python - 如何完全按照显示的字体呈现字体?

python - 使用正则表达式列表按正则表达式的顺序过滤字符串列表的最Pythonic方法是什么?

python - Django Celery 持久撤销

python - Django - 身份验证,使用电子邮件确认注册

python - 按字段订购型号并提供选择