แทนที่จะไปที่ views.py ฉันต้องการให้ไปที่เทมเพลต robots.txt
คำตอบ:
ใช้มุมมองทั่วไปตามคลาส แต่ลงทะเบียนด้วยรูปแบบ 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
ใช้มุมมองทั่วไปตามคลาส
from django.views.generic import TemplateView
urlpatterns = patterns('',
(r'^foo/$', TemplateView.as_view(template_name='foo.html')),
)
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'}),
)
การอัปเดตเพิ่มเติมสำหรับเวอร์ชันล่าสุดและรวมถึงประเภท 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")
]
nginx
: stackoverflow.com/a/3746344/781695สำหรับapache
: serverfault.com/a/213455/84120