Appy Views

Views

A TemplateView that allows to set

  • desired output format

  • Content-Disposition on the response using output_name

  • output file name

Usage examples

Directly in urls.py:

urlpatterns = [
    path('', views.IndexView.as_view(), name="appy-examples"),
    path('pdf/simple', AppyTemplateView.as_view(
        template_name='examples/simple.odt'), name='pdf-simple'),
    path('odt/simple', AppyTemplateView.as_view(
        template_name='examples/simple.odt', output_type='odt'), name='odt-simple'),
    path('odt/context', views.OdtContextView.as_view(), name='odt-context'),
    path('pdf/context', views.PdfContextView.as_view(), name='pdf-context'),
]

Or in views.py as:

class PdfContextView(AppyTemplateView):

    template_name = 'examples/context.odt'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['name'] = 'Sandro'
        return context


class OdtContextView(PdfContextView):

    output_type = 'odt'