Djangoのurls.pyでテンプレートに直接移動するにはどうすればよいですか?


107

views.pyに移動する代わりに、テンプレートrobots.txtに移動したいと思います。


5
与えられた答えは正確ですが、robots.txtのようなものについては、ウェブサーバーレベルでもルーティングできます。それはあなたのdjangoアプリにも届きません。の場合nginxstackoverflow.com/a/3746344/781695、の場合apacheserverfault.com/a/213455/84120
ユーザー

回答:


261

Django 2.0以降

クラスベースの汎用ビューを使用しますが、django 2.0+パターンに登録します。

from django.urls import path
from django.views.generic import TemplateView

urlpatterns = [
    path('foo/', TemplateView.as_view(template_name='foo.html'))
]

https://docs.djangoproject.com/en/2.0/ref/class-based-views/base/#templateview

Django 1.5以降

クラスベースの汎用ビューを使用します。

from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^foo/$', TemplateView.as_view(template_name='foo.html')),
)

Django <= 1.4

ドキュメント:https : //docs.djangoproject.com/en/1.4/ref/generic-views/#django-views-generic-simple-direct-to-template

urlpatterns = patterns('django.views.generic.simple',
    (r'^foo/$',             'direct_to_template', {'template': 'foo_index.html'}),
    (r'^foo/(?P<id>\d+)/$', 'direct_to_template', {'template': 'foo_detail.html'}),
)

1.5以降では、すべての静的HTMLに対してこれを行う必要がありますか?
Anupam 2017年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.