def render_views(self, model, timestamp_fieldname=None): views_class_templates = \ get_templates_in_dir('generate_scaffold', 'views', 'views') class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) timestamp_field = self.get_timestamp_field(model, timestamp_fieldname) is_timestamped = True if timestamp_field else False views_context = { 'app_name': self.app_name, 'model_slug': model_slug, 'class_name': class_name, 'is_timestamped': is_timestamped, } if is_timestamped: views_context['timestamp_field'] = timestamp_field.name rendered_views_classes = [] for view_class_template in views_class_templates: t = get_template(view_class_template) rendered_views_classes.append(t.render(Context(views_context))) views_template = get_template('generate_scaffold/views/views.txt') views_context['views'] = rendered_views_classes return views_template.render(Context(views_context))
def render_views(self, model, timestamp_fieldname=None): views_class_templates = \ get_templates_in_dir('generate_scaffold', 'views', 'views') class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) timestamp_field = self.get_timestamp_field( model, timestamp_fieldname) is_timestamped = True if timestamp_field else False views_context = { 'app_name': self.app_name, 'model_slug': model_slug, 'class_name': class_name, 'is_timestamped': is_timestamped, } if is_timestamped: views_context['timestamp_field'] = timestamp_field.name rendered_views_classes = [] for view_class_template in views_class_templates: t = get_template(view_class_template) rendered_views_classes.append(t.render(Context(views_context))) views_template = get_template('generate_scaffold/views/views.txt') views_context['views'] = rendered_views_classes return views_template.render(Context(views_context))
def render_views(self, model, timestamp_fieldname=None): views_class_templates = get_templates_in_dir("generate_scaffold/views/views") class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) timestamp_field = self.get_timestamp_field(model, timestamp_fieldname) is_timestamped = True if timestamp_field else False views_context = { "app_name": self.app_name, "model_slug": model_slug, "class_name": class_name, "is_timestamped": is_timestamped, } if is_timestamped: views_context["timestamp_field"] = timestamp_field.name rendered_views_classes = [] for view_class_template in views_class_templates: t = get_template(view_class_template) rendered_views_classes.append(t.render(Context(views_context))) views_template = get_template("generate_scaffold/views/views.txt") views_context["views"] = rendered_views_classes return views_template.render(Context(views_context))
def render_urls(self, model, timestamp_fieldname=None): urls_module = self.get_app_module("urls") is_urlpatterns_available = hasattr(urls_module, "urlpatterns") url_pattern_templates = get_templates_in_dir("generate_scaffold/urls/urls") class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) if self.get_timestamp_field(model, timestamp_fieldname): is_timestamped = True else: is_timestamped = False rendered_url_patterns = [] for url_pattern_template in url_pattern_templates: t = get_template(url_pattern_template) c = { "app_name": self.app_name, "model_slug": model_slug, "class_name": class_name, "is_timestamped": is_timestamped, } rendered_url_patterns.append(t.render(Context(c))) url_patterns_operator = "+=" if is_urlpatterns_available else "=" urls_template = get_template("generate_scaffold/urls/urls.txt") c = { "app_name": self.app_name, "model_slug": model_slug, "url_patterns_operator": url_patterns_operator, "urls": rendered_url_patterns, } return urls_template.render(Context(c))
def render_templates(self, model, model_templates_dirpath, timestamp_fieldname=None): template_templates = \ get_templates_in_dir('generate_scaffold', 'tpls') class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) model_fields = self.get_model_fields(model) timestamp_field = self.get_timestamp_field(model, timestamp_fieldname) is_timestamped = True if timestamp_field else False context_keys = { 'year': 'year.year' if DJANGO_VERSION >= (1, 5) else 'year' } for template_template in template_templates: if not is_timestamped and '_archive' in template_template: # Do not render templates for date-based views. continue filename = os.path.basename(template_template) dst_filename = filename.replace('MODEL_NAME', model_slug) dst_abspath = os.path.join(model_templates_dirpath, dst_filename) t = get_template(template_template) c = { 'app_name': self.app_name, 'model_slug': model_slug, 'model_fields': model_fields, 'class_name': class_name, 'filename': dst_abspath, 'is_timestamped': is_timestamped, 'context_keys': context_keys } if is_timestamped: c['timestamp_field'] = timestamp_field.name rendered_template = t.render(Context(c)) yield dst_abspath, rendered_template
def render_templates( self, model, model_templates_dirpath, timestamp_fieldname=None): template_templates = \ get_templates_in_dir('generate_scaffold', 'tpls') class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) model_fields = self.get_model_fields(model) timestamp_field = self.get_timestamp_field( model, timestamp_fieldname) is_timestamped = True if timestamp_field else False context_keys = { 'year': 'year.year' if DJANGO_VERSION >= (1, 5) else 'year' } for template_template in template_templates: if not is_timestamped and '_archive' in template_template: # Do not render templates for date-based views. continue filename = os.path.basename(template_template) dst_filename = filename.replace('MODEL_NAME', model_slug) dst_abspath = os.path.join(model_templates_dirpath, dst_filename) t = get_template(template_template) c = { 'app_name': self.app_name, 'model_slug': model_slug, 'model_fields': model_fields, 'class_name': class_name, 'filename': dst_abspath, 'is_timestamped': is_timestamped, 'context_keys': context_keys } if is_timestamped: c['timestamp_field'] = timestamp_field.name rendered_template = t.render(Context(c)) yield dst_abspath, rendered_template
def render_urls(self, model, timestamp_fieldname=None): urls_module = self.get_app_module('urls') is_urlpatterns_available = \ hasattr(urls_module, 'urlpatterns') url_pattern_templates = \ get_templates_in_dir('generate_scaffold/urls/urls') class_name = model._meta.concrete_model.__name__ model_slug = slugify(class_name) if self.get_timestamp_field(model, timestamp_fieldname): is_timestamped = True else: is_timestamped = False rendered_url_patterns = [] for url_pattern_template in url_pattern_templates: t = get_template(url_pattern_template) c = { 'app_name': self.app_name, 'model_slug': model_slug, 'class_name': class_name, 'is_timestamped': is_timestamped, } rendered_url_patterns.append(t.render(Context(c))) url_patterns_operator = '+=' if is_urlpatterns_available else '=' urls_template = get_template('generate_scaffold/urls/urls.txt') c = { 'app_name': self.app_name, 'model_slug': model_slug, 'url_patterns_operator': url_patterns_operator, 'urls': rendered_url_patterns, } return urls_template.render(Context(c))