【问题标题】:Django - Edit templates from django adminDjango - 从 django admin 编辑模板
【发布时间】:2016-02-22 10:26:20
【问题描述】:

我可以将模板保存在我的数据库中并从 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/" 设置默认视图,这可能吗?

谢谢!

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    您可能需要在视图中手动添加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)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2012-03-05
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多