您提到创建模型是不必要的,但不是为什么。我认为这是正确的方法。
class Snippet(models.Model):
name = models.CharField(max_length=24)
body = models.TextField()
向管理员注册它,并根据需要创建尽可能多的片段。如果您只希望您的用户能够编辑您指定的权限,您可以禁用添加和删除权限。
将它们添加到模板上下文中:
def get_context_data(self, request, *args, **kwargs):
data = super(MyView, self).get_context_data(request, *args, **kwargs)
data['snippet1'] = Snippet.objects.get(name='snippet1').body
data['snippet2'] = Snippet.objects.get(name='snippet2').body
return data
然后在模板中打印它们:
...
Contact us at {{ snippet1 }}!
...
这有点简化。您可能想要一个视图 mixin,它根据名称的声明性列表添加您需要的所有片段,您可能想要优化查询,这样您就不会在每个请求中循环访问数据库 10 次,但这是一个好的开始到一个简单的解决方案。