개발/Python

[파이썬] Django의 urls.py에서 템플릿으로 바로 이동하는 법?

MinorMan 2022. 10. 10. 04:37
반응형

<질문>

views.py로 이동하는 대신 robots.txt 템플릿으로 이동하기를 원합니다.


<답변1>

참고: Django 4+에서도 여전히 유효합니다.

클래스 기반 일반 보기를 사용하지만 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/4.1/topics/class-based-views/#usage-in-your-urlconf

클래스 기반 일반 보기를 사용합니다.

from django.views.generic import TemplateView

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

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

<답변2>

이 사이트의 MIME 유형을 포함한 최신 버전에 대한 추가 업데이트:

http://www.techstricks.com/adding-robots-txt-to-your-django-project/

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

urlpatterns = [
    #... your project urls
    url(r'^robots.txt$', TemplateView.as_view(template_name="robots.txt", content_type="text/plain"), name="robots_file")
]
반응형