python - Django - 从 django admin 编辑模板

标签 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/"设置加载正确模板的默认 View ,这可能吗?

谢谢!

最佳答案

您可能需要render在您的 View 中手动模板并返回结果 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)))

关于python - Django - 从 django admin 编辑模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551206/

相关文章:

python - 快速过滤django中的相关字段

Django admin - 如何隐藏用户编辑中的某些字段?

django manytomany模型关系在对象创建时崩溃管理

django - Django 中复杂的 "limit_choices_to"函数

Python turtle 图章在 turtle 形状的图像处理后神秘消失

python - 装饰器函数中的变量如何访问其作用域外的值?

python - psycopg2.编程错误: syntax error at or near "st"\r,

python - 使用 Fabric : how to edit Django settings? 自动化 Django 设置

python - Django 对与同一模型相关的多个字段进行注释

python - 如何通过firefox_options配置geckodriver的日志级别为trace?