34

純粋な HTML コードや HTML + JavaScript + CSS で Web サイトを表示する方法がわかりません。

Hello Worldという HTML ファイルを読み込もうとしました。

Django でもできることはわかっていますが、後で、CSS+JavaScript+HTML で Web サイトを表示したいと考えています。

ビュー ファイルで、次のコードを実行します。

# 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)

しかし、ウェブサイトに表示される唯一のものは次のとおりです。

4

6 に答える 6

31

ファイルが django テンプレートではなくプレーンな html ファイルである場合、これが最も簡単な方法です。

from django.shortcuts import render_to_response

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

2020 年 10 月 13 日更新:

render_to_responseDjango 2.0 で廃止され、3.0 で削除されたため、現在の方法は次のとおりです。

from django.shortcuts import render

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

于 2013-01-18T13:45:14.337 に答える
19

そこでメソッドを呼び出していませんrenderよね?

比較:

template.render

template.render()
于 2013-01-18T13:40:29.687 に答える
15

CSS および JS ファイルが静的である場合、それらを提供するために Django を使用しないか、静的ファイルとして提供してください。

あなたのHTMLについては、動的コンテンツを持たない単なる固定ファイルであれば、同じことができます。TemplateViewでジェネリック ビューを使用することもできます。次のような行を に追加するだけです。urls.py

    url(r'^path/to/url', TemplateView.as_view(template_name='index.html')),
于 2013-01-18T13:50:40.900 に答える
13

を使用HttpResponseすると、データのみを送信できます.htmlファイルを送信する場合は、次の方法を使用するrenderrender_to_response、次の方法を使用する必要があります...

from django.shortcuts import render

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

また

from django.shortcuts import render_to_response

def index (request):
    return render_to_response('app/index.html')
于 2016-11-28T07:58:27.637 に答える