我想在我的Postgresql数据库中保存HTML代码,这样我就可以直接将此代码作为HttpResponse发送,而不是提供静态HTML文件。我确实将它保存在数据库中,但是后续错误仍然存在。
执行此任务的正确方法是什么?
Edit1:views.py文件的代码
def index(request):
index_object = StaticWebPage.objects.get(page_title='index')
return HttpResponse(
request,
index_object.page_content
)
答案 0 :(得分:2)
您是否正在尝试制作模板后端,以便将模板保留在数据库中而不是文件系统中?如果是这样的话:https://docs.djangoproject.com/en/1.10/topics/templates/#custom-backends
我可以看到,在StaticWebPage
记录中你有一个Django模板,渲染你需要处理的是一个字符串,并像渲染字符串一样渲染。
from django.template import Template, Context
def index(request):
index_object = StaticWebPage.objects.get(page_title='index')
template = Template(index_object.page_content)
return HttpResponse(
content=template.render(Context({})), # use the context or not
content_type=None,
status=200,
reason=None,
charset=None,
)
(在Django 1.10中)django.http.response.HttpResponse
不会将request
作为第一个参数(我添加了参考所需的参数)。