Django - 从django admin编辑模板

时间:2016-02-22 10:26:21

标签: python django django-admin

我可以在我的数据库中保存模板并从django-admin编辑它们吗? 我的想法是为模板创建一个模型:

class DbTemplate(models.Model):
    css_class = models.CharField(max_length=200)
    name = models.CharField(max_length=200)
    content = models.TextField()

    class Meta:
        verbose_name = "Database Template"
        verbose_name_plural = "Database Templates"

    def __str__(self):
        return self.name

并在django-admin中注册:

from .models import DbTemplate

admin.site.register(DbTemplate)

在我的urls.py中为r“^ page /”设置了加载正确模板的默认视图,这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可能需要在视图中手动设置render模板并返回结果HttpResponse。这是一个粗略的例子(你应该根据你的用例修改):

from django.template import Context, Template
from django.http import HttpResponse

def my_view(request):
    ...
    context = {'value': something, 'another_var': something_else}
    # Here, instead of returning `render`, render the template using the context manually
    template_content = DbTemplate.objects.get(name='my_template').content
    template = Template(template_content)
    return HttpResponse(template.render(Context(context)))