我有几个模板使用有限数量的字符串很多次,所以我想以某种方式重用字符串而不是模板中的硬编码。
我找到了两种方法,但是它们都有限制,所以我要求更好的方法来做这个或者可能是在Django模板中管理String的标准方法。
首先,简单地:将它们存储在数据库中,如果我在下面创建一个简单的模型并在视图中发送所有这些模型(大约500个对象),它适用于所有渲染模板。我还可以对它们进行分类,并在每个模板中发送相关的类别。
class Subject(models.Model):
key = models.CharField()
trans = models.TextField()
type = models.SmallIntegerField(choices=string.types)
第二:使用{% with x="done" %}
标记我可以在基本模板中使用“with”标记,并将其扩展到其他模板中,这样我就可以使用标准django访问所有标记。< / p>
感谢@Danial Roseman的评论,我可以使用i18n。
答案 0 :(得分:1)
您也可以将字符串存储在dict中(让我们称之为字符串&#39;),然后使用上下文处理器将其传递到上下文中,然后使用标准{{ strings.key }}
符号。没有安全问题,不需要数据库,也不需要特殊管理,如果需要,您也可以将字符串标记为可翻译。