Django:在数据库中保存 HTML 代码的正确方法
Django: Correct way to save HTML code inside database
我想将 HTML 代码保存在我的 Postgresql 数据库中,以便我可以直接将此代码作为 HttpResponse 发送,而不是提供静态 HTML 文件。我确实将它保存在数据库中,但以下错误不断出现。
完成这项任务的正确方法是什么?
Edit1:views.py 文件的代码
def index(request):
index_object = StaticWebPage.objects.get(page_title='index')
return HttpResponse(
request,
index_object.page_content
)
您是否正在尝试创建一个模板后端来将您的模板保存在数据库中而不是文件系统中?如果是: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
作为第一个参数(我添加了它作为参考的参数)。
我想将 HTML 代码保存在我的 Postgresql 数据库中,以便我可以直接将此代码作为 HttpResponse 发送,而不是提供静态 HTML 文件。我确实将它保存在数据库中,但以下错误不断出现。
完成这项任务的正确方法是什么?
Edit1:views.py 文件的代码
def index(request):
index_object = StaticWebPage.objects.get(page_title='index')
return HttpResponse(
request,
index_object.page_content
)
您是否正在尝试创建一个模板后端来将您的模板保存在数据库中而不是文件系统中?如果是: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
作为第一个参数(我添加了它作为参考的参数)。