यहां मैंने जो कार्यान्वित किया है, वह फैबियो के जवाब से निकलता है। मुझे नहीं पता कि यह करने का यह सबसे अच्छा तरीका है, लेकिन यह मेरे लिए अपेक्षित काम करता है।
from django.views.generic import TemplateView
from django.http import Http404
from django.template.loader import get_template
from django.template import TemplateDoesNotExist
from absolute.menu.models import Menu # specific to my app
class BasicPublicView(TemplateView):
model = Menu #specific to my app
def dispatch(self, request, *args, **kwargs):
try:
self.template_name = request.path[1:] + '.html'
get_template(self.template_name)
return super(BasicPublicView, self).dispatch(request, *args, **kwargs)
except TemplateDoesNotExist:
raise Http404
यह टेम्पलेट मौजूद होने पर मुझे गतिशील रूप से टेम्पलेट निर्देशिका से टेम्पलेट खींचने की अनुमति देता है। उदाहरण के लिए, http://example.com/products/keyboards
टेम्पलेट लाने का प्रयास करेगा /templates/products/keyboards.html
स्रोत
2014-12-07 16:03:17
आप टेम्पलेट्स की एक सूची को django.template.response.emplateResponse पर भी पास कर सकते हैं – baxeico