Generate PDF, MS Word and Excel documents from templates in Django.
Project description
===============================
Templated-docs
===============================
.. image:: https://badge.fury.io/py/templated-docs.svg
:target: https://pypi.python.org/pypi/templateddocs
.. image:: https://img.shields.io/travis/kiawin/templated-docs.svg
:target: https://travis-ci.org/kiawin/templated-docs
.. image:: https://readthedocs.org/projects/templated-docs/badge/?version=latest
:target: https://templated-docs.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://requires.io/github/kiawin/templated-docs/requirements.svg?branch=master
:target: https://requires.io/github/kiawin/templated-docs/requirements?branch=master
:alt: Dependencies
Generate templated documents within Django in any format supported by
LibreOffice: texts, spreadsheets, presentations etc.
* Free software: MIT license
* Documentation: https://templated-docs.readthedocs.io.
Requirements
------------
* Python 2.7 or 3.4+
* Django >= 1.8
* A recent LibreOffice version (>=4.3.0) supporting LibreOfficeKit API.
.. include:: docs/partial/libffi-warning.rst
Example usage
-------------
Create a ``sample.odt`` document (make sure it's in OpenDocument format) and
put it in your Django templates folder. It should look something like this:
.. image:: https://github.com/kiawin/templated-docs/raw/master/docs/document-template.png
Then write a view to generate documents from this template:
.. code-block:: python
from templated_docs import fill_template
from templated_docs.http import FileResponse
def get_document(request):
"""
A view to get a document filled with context variables.
"""
context = {'user': request.user} # Just an example
filename = fill_template('sample.odt', context, output_format='pdf')
visible_filename = 'greeting.pdf'
return FileResponse(filename, visible_filename)
Navigate to the url your view is connected to, and you'll see a rendered and converted document:
.. image:: https://github.com/kiawin/templated-docs/raw/master/docs/generated-document.png
For more examples, see the ``examples/`` subfolder in the repository. More detailed documentation is available on https://templated-docs.readthedocs.io.
Credits
---------
Templated-docs was written by `Alex Morozov`_.
As the repository is left idle for 2 years, `Sian Lerk Lau` has forked and resume the task of updating the module.
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _pylokit: https://github.com/xrmx/pylokit
.. _`Alex Morozov`: http://morozov.ca
Templated-docs
===============================
.. image:: https://badge.fury.io/py/templated-docs.svg
:target: https://pypi.python.org/pypi/templateddocs
.. image:: https://img.shields.io/travis/kiawin/templated-docs.svg
:target: https://travis-ci.org/kiawin/templated-docs
.. image:: https://readthedocs.org/projects/templated-docs/badge/?version=latest
:target: https://templated-docs.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://requires.io/github/kiawin/templated-docs/requirements.svg?branch=master
:target: https://requires.io/github/kiawin/templated-docs/requirements?branch=master
:alt: Dependencies
Generate templated documents within Django in any format supported by
LibreOffice: texts, spreadsheets, presentations etc.
* Free software: MIT license
* Documentation: https://templated-docs.readthedocs.io.
Requirements
------------
* Python 2.7 or 3.4+
* Django >= 1.8
* A recent LibreOffice version (>=4.3.0) supporting LibreOfficeKit API.
.. include:: docs/partial/libffi-warning.rst
Example usage
-------------
Create a ``sample.odt`` document (make sure it's in OpenDocument format) and
put it in your Django templates folder. It should look something like this:
.. image:: https://github.com/kiawin/templated-docs/raw/master/docs/document-template.png
Then write a view to generate documents from this template:
.. code-block:: python
from templated_docs import fill_template
from templated_docs.http import FileResponse
def get_document(request):
"""
A view to get a document filled with context variables.
"""
context = {'user': request.user} # Just an example
filename = fill_template('sample.odt', context, output_format='pdf')
visible_filename = 'greeting.pdf'
return FileResponse(filename, visible_filename)
Navigate to the url your view is connected to, and you'll see a rendered and converted document:
.. image:: https://github.com/kiawin/templated-docs/raw/master/docs/generated-document.png
For more examples, see the ``examples/`` subfolder in the repository. More detailed documentation is available on https://templated-docs.readthedocs.io.
Credits
---------
Templated-docs was written by `Alex Morozov`_.
As the repository is left idle for 2 years, `Sian Lerk Lau` has forked and resume the task of updating the module.
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _pylokit: https://github.com/xrmx/pylokit
.. _`Alex Morozov`: http://morozov.ca
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
templateddocs-0.3.2.tar.gz
(48.1 kB
view hashes)
Built Distribution
Close
Hashes for templateddocs-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27097a757fe1d0c497ad8bd6799599cf454eaaea1521af26d66586ea9991732c |
|
MD5 | 5bc18f729c4e5420182e3ec041e881da |
|
BLAKE2b-256 | 0c1dd33207499d4b4e46fbb6254aa17b9a234f7a40575769c9813416eb0bf214 |