How do I go straight to template, in Django's urls.py?

后端 未结 2 938
鱼传尺愫
鱼传尺愫 2020-12-24 00:15

Instead of going to views.py, I want it to go to to a template, robots.txt.

2条回答
  •  醉酒成梦
    2020-12-24 00:43

    Django 2.0+

    Use the class based generic views but register with the django 2.0+ pattern.

    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+

    Use the class based generic views.

    from django.views.generic import TemplateView
    
    urlpatterns = patterns('',
        (r'^foo/$', TemplateView.as_view(template_name='foo.html')),
    )
    

    Django <= 1.4

    Docs: 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\d+)/$', 'direct_to_template', {'template': 'foo_detail.html'}),
    )
    

提交回复
热议问题