如何返回静态 HTML 文件作为 Django 中的响应?

新手上路,请多包涵

我还没有想出如何用纯 HTML 代码和/或 HTML + JavaScript + CSS 呈现一个网站。

我试图加载一个 HTML 文件,上面写着: Hello World

我知道我也可以用 Django 做到这一点,但稍后,我想用 CSS+JavaScript+HTML 显示我的网站。

在我运行这段代码的视图文件中:

 # Create your views here.
from django.http import HttpResponse
from django.template import Context, loader

def index(request):
    template = loader.get_template("app/index.html")
    return HttpResponse(template.render)

但该网站唯一显示的是:

原文由 jjuser19jj 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 401
2 个回答

你不是在调用 render 方法,是吗?

比较:

 template.render

template.render()

原文由 ustun 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您的文件不是 django 模板而是纯 html 文件,这是最简单的方法:

 from django.shortcuts import render_to_response

def index (request):
    return render_to_response('app/index.html')

2020 年 10 月 13 日更新:

render_to_response 在 Django 2.0 中被弃用并在 3.0 中被移除,所以目前的做法是:

 from django.shortcuts import render

def index (request):
    return render(request, 'app/index.html')

原文由 César García Tapia 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题