View mixin and template filters for PDF creation from the HTML-template.
Project description
View mixin and template filters for PDF creation from the HTML-template.
Detailed documentation is in the “docs” directory.
Quick start
Add “weasy_pdf” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = ( ... 'weasy_pdf', )
Help functions: safety_get_attribute(), safety_parse_dict(), format_date() (see utils.py)
Create data-object. When using the safety_get_attribute() function do not forget to join the related tables (prefetch_related, select_related):
class PDFDataObject: def __init__(self, data_obj: MyModel): get = safety_get_attribute self.data_obj = data_obj self.first_name = get(data_obj, 'first_name') ...
Prepare PDF template. Use built-in template filters: times, parse_dict:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> {% load static %} {% load weasy_pdf %} <link rel="stylesheet" href="{% static '/styles/pdf.css' %}"> <title>Title</title> <meta name="description" content="Description"> <meta name="author" content="Author"> </head> <body> <span>{{ data_object.first_name }}</span> ... </body> </html> <!-- Filters usage: {% for i in 8|times %} <td colspan="2"></td> {% endfor %} <td colspan="5">{{ data_object|parse_dict:'0__NAME' }}</td> -->
Prepare view:
class PDFView(WeasyPDFViewMixin): template_name = 'pdf.html' file_name = 'my_pdf.pdf' def get_object(self) -> Any: passport = get_object_or_404(Passport, pk=self.kwargs.get('pk')) return PDFDataObject(passport)
Example
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
btc-weasy-pdf-0.3.tar.gz
(692.3 kB
view details)
File details
Details for the file btc-weasy-pdf-0.3.tar.gz
.
File metadata
- Download URL: btc-weasy-pdf-0.3.tar.gz
- Upload date:
- Size: 692.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c154ba5087ccbde6a1cb93cfbc7179ec6250b8bb9d917332e82f0ac71dc645e8 |
|
MD5 | 256a7875548144e5223bf867f40cdea3 |
|
BLAKE2b-256 | f04661f96c9eec5292076a9964042440c25f2f684aa86ed71a11d68ae05d996b |