我有一堆 html 文件。我想在我的 Django 视图中呈现它们而不将它们转换为 Django 模板。这可能吗?
或者是否有任何代码可以轻松进行转换?
有可能,只需使用以下方法调用:
def main_page(request):
template=get_template('index.html')
variables=Context({})
output = template.render(variables)
return HttpResponse(output)
在这里,您的index.html
文件位于模板文件夹中。
Django 模板建立在普通的旧文件之上。如果您的 HTML 文件中没有 {{ 或 {%,那么它们将自动成为有效的模板,尽管由单个 Text 节点组成。
只需像引用任何模板一样引用它们,它就会“正常工作”。
return render(request, "my-plain-html-file.html")
实际上,您不必为这种情况编写视图。您可以direct_to_template
按原样使用快捷方式urls.py
。
from django.conf.urls import patterns, url, include
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
('^about/$', direct_to_template, {
'template': 'about.html'
}),
)