import os from django.urls import reverse from django.apps import apps from builder.base import BuildNew from itertools import chain from django.conf import settings from .models import NewsletterMailing class BuildNewsletterArchives(BuildNew): def get_model_queryset(self): return self.model.objects.exclude(slug='test') def build(self): for lttr in self.get_model_queryset(): self.build_list_view( base_path=reverse("lttr:list", kwargs={'slug':lttr.slug}), paginate_by=50 ) self.build_detail_view(lttr) def build_detail_view(self, lttr): for obj in lttr.newslettermailing_set.all(): url = obj.get_absolute_url() path, slug = os.path.split(url) path = '%s/' % path # write html response = self.client.get(url) print(path, slug) self.write_file(path, response.content, filename=slug) def lttr_builder(): j = BuildNewsletterArchives("lttr", "Newsletter") j.build()