2011-03-05 3 views
76

views.py पर जाने के बजाय, मैं इसे टेम्पलेट, robots.txt पर जाना चाहता हूं।मैं Django के urls.py में सीधे टेम्पलेट पर कैसे जा सकता हूं?

+5

दिया जवाब सही है, हालांकि, रोबोट पाठ की तरह कुछ के लिए, आप मार्ग यह वेब सर्वर पर हो सकता है स्तर भी यह आपके django ऐप तक भी नहीं पहुंच जाएगा। 'Nginx' के लिए: http://stackoverflow.com/a/3746344/781695, 'apache' के लिए: http://serverfault.com/a/213455/84120 – Medorator

उत्तर

200

Django 1.5+

उपयोग वर्ग आधारित सामान्य विचार:

from django.views.generic import TemplateView 

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

डॉक्स: https://docs.djangoproject.com/en/stable/topics/class-based-views/#simple-usage-in-your-urlconf

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'}), 
) 
+70

अद्यतन के लिए 2 साल बाद – shabeer90

+0

1.5+ के लिए , क्या हमें हर स्थिर एचटीएमएल के लिए ऐसा करने की ज़रूरत है? – Anupam

7

नवीनतम संस्करण है और इस साइट से माइम प्रकार सहित के लिए एक और अद्यतन:

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") 
] 
संबंधित मुद्दे