首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中返回静态HTML文件作为响应?

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

Stack Overflow用户
提问于 2013-01-18 13:32:45
回答 6查看 104.3K关注 0票数 36

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

我试着加载一个HTML文件,上面写着:。

我知道我也可以用Django做这件事,但后来,我想用CSS+JavaScript+HTML来显示我的网站。

在视图文件中,我运行以下代码:

代码语言:javascript
复制
# 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)

但该网站唯一显示的是:

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-01-18 13:40:29

您没有在那里调用render方法,对吗?

比较:

代码语言:javascript
复制
template.render

template.render()
票数 20
EN

Stack Overflow用户

发布于 2013-01-18 13:45:14

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

代码语言:javascript
复制
from django.shortcuts import render_to_response

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

更新10/13/2020:

在Django 2.0中不推荐使用render_to_response,并在3.0中删除了它,因此,当前的方法是:

代码语言:javascript
复制
from django.shortcuts import render

def index (request):
    return render(request, 'app/index.html')
票数 35
EN

Stack Overflow用户

发布于 2013-01-18 13:50:40

如果您的CSS和JS文件是静态的,请不要使用Django来服务它们,或者使用作为静态文件提供。

对于您的html,如果它只是一个固定的文件,没有任何动态内容,您也可以这样做。您也可以将泛型视图TemplateView一起使用,只需在urls.py中添加如下一行

代码语言:javascript
复制
    url(r'^path/to/url', TemplateView.as_view(template_name='index.html')),
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14400035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档