6

現在 Django 1.5 を使用していますが、単純な html ページを表示する方法がわかりません。クラスベースのビューについて読んできましたが、これが私がやりたいことかどうかわかりません。

単純な index.html ページを表示しようとしていますが、いくつかの例によると、このコードを app/views.py に配置する必要があります。

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

私の index.html ページを私の django プロジェクトに関連付けられたアプリに関連付ける必要がある理由はありますか? 私にとっては、index.html ページをプロジェクト全体に対応させる方が理にかなっているように思えます。

さらに重要なことに、views.py ファイルでこのコードを使用すると、実際に index.html を作成するには、urls.py に何を入力する必要がありますか?

編集:

Django プロジェクトの構造:

webapp/
    myapp/
        __init__.py
        models.py
        tests.py
        views.py
    manage.py
    project/
        __init__.py
        settings.py
        templates/
            index.html
        urls.py
        wsgi.py
4

3 に答える 3

10

urls.py

from django.conf.urls import patterns, url
from app_name.views import *

urlpatterns = patterns('',
    url(r'^$', IndexView.as_view()),
)

ビュー.py

from django.views.generic import TemplateView

class IndexView(TemplateView):
    template_name = 'index.html'

@Ezequiel Berttiの回答に基づいて、削除app

from django.conf.urls import patterns
from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^index.html', TemplateView.as_view(template_name="index.html")),
)

index.html は、テンプレート フォルダー内に保存する必要があります。

webapp/
    myapp/
        __init__.py
        models.py
        tests.py
        views.py
        templates/      <---add
            index.html  <---add
    manage.py
    project/
        __init__.py
        settings.py
        templates/      <---remove
            index.html  <---remove
        urls.py
        wsgi.py
于 2013-03-28T05:00:20.200 に答える
4

django コアの GenericView を使用できます。

from django.conf.urls import patterns
from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^index.html', TemplateView.as_view(template_name="index.html")),
)
于 2013-03-28T04:44:14.977 に答える