Сам код:
from string import Template import settings # опции проекта import global_settings # опции самого фреймворка import os def render(template_name, *args, **kwargs): try: for template in settings.TEMPLATES: temp_name = os.path.join(template, template_name) try: temp = Template(open(temp_name).read()) break # В случае нахождения шаблона в папке выходим из цикла except IOError: temp_name = None # Если temp_name None, то выводим шаблон 404 ошибки if temp_name is None: temp_name = os.path.join(global_settings.TEMPLATES, template_name) temp = Template(open(temp_name).read()) body = temp.substitute(*args, **kwargs) return [body] except IOError as e: return ['NOT FOUND %s' % e]
Мне важно знать, можно ли упростить/улучшить код. Просто есть сильное стремление разобраться как в самом Python, так и в веб технологиях в целом.
Пожалуйста не пишите фразы типа: “Есть же Django! Зачем тебе это?”