Django:重新加载模板库

时间:2016-05-31 19:14:17

标签: python django django-templates

我使用自定义模板标记来显示特定于网站的内容。这些标签的模板存储在数据库中,员工可以编辑它们。我使用that SO answer作为参考。每次模板更改并保存到数据库后,我强制重新加载django应用程序(通过重新加载uwsgi服务)或更改不会变得可见。看起来Django仅在首次加载app时为自定义标签填充模板库。 我认为重新加载Django应用程序不是刷新数据库模板的最佳做法,我正在寻找以编程方式(从模型的保存()或保存信号)的方法

模板标签代码:

from django.template import Template, Library
from project.custom_templates.models import DbTemplate

register = Library()

# template names
SHOW_PART_TABLE_ADMIN = 'custom/tags/show_part_table_admin.html'
SHOW_PART_TABLE_PUBLIC = 'custom/tags/show_part_table_public.html'
t_show_part_table_admin = Template(DbTemplate.objects.get(name=SHOW_PART_TABLE_ADMIN).content)
t_show_part_table_public = Template(DbTemplate.objects.get(name=SHOW_PART_TABLE_PUBLIC).content)

@register.inclusion_tag(t_show_part_table_admin)
def show_part_table_admin(parts, user, perms):
    return {'parts': parts, 'user': user, 'perms': perms}
@register.inclusion_tag(t_show_part_table_public)
def show_part_table_public(parts, user, perms):
    return {'parts': parts, 'user': user, 'perms': perms}

0 个答案:

没有答案