Some useful Django apps

Stuart Dines

Senior Software Engineer @ Stockspot http://stockspot.com.au

@sjdines

 http://stuartdines.com

16th of November 2017

Django Post Office

  • https://github.com/ui/django-post_office
  • Django Post Office is a simple app to send and manage your emails in Django. Some awesome features are:
    • Allows you to send email asynchronously
    • Multi backend support
    • Supports HTML email
    • Supports database based email templates
    • Built in scheduling support
    • Works well with task queues like RQ or Celery
    • Uses multiprocessing (and threading) to send a large number of emails in parallel
    • Supports multilingual email templates (i18n)
    • Queue emails for sending
    • See how many emails have been sent, what, when
    • Resend emails

Django Post Office

  • When would this be used?
    • When tracking what emails are sent is important
    • Allow easy changing of templates
    • When you want to queue your emails for sending at particular times

Django Import Export

  • https://github.com/django-import-export/django-import-export
  • Import and exports data via the admin
  • Support multiple formats (Excel, CSV, JSON, ... and everything else that tablib supports)
  • Admin integration for importing / exporting
  • Preview import changes
  • Export data respecting admin filters

 

Django Import Export

  • When would this be used?
    • If you keep on finding you are recreating endless import / export scripts
    • If you couldn't be bothered supporting conversion of different formats

 

Django Object Actions

  • https://github.com/crccheck/django-object-actions
  • Object specific actions in the admin!
  • You can re-use admin actions and apply them to only one object or have object specific actions
  • When would this be used?
    • If you ever need to run an admin action or perform an action on one object only and not have to deal with the list view

Django Admin Range Filter

  • https://github.com/silentsokolov/django-admin-rangefilter
  • Date / DateTime range filter for the admin
  • When would this be used?
    • When you need to filter on Date / DateTime ranges and need more specificity than the defaults

Django Disposable Email Checker

  • https://github.com/aaronbassett/DisposableEmailChecker
  • Detect and block disposable email addresses
  • When would this be used?
    • If you require an email address that wont just disappear 
    • If you want to make it a bit harder for unauthorized testers i.e. competition

Django Dynamic Fixture

  • https://github.com/paulocheque/django-dynamic-fixture
  • Dynamic model instances for testing
  • When would this be used?
    • If you need to create an instance of a model for testing purposes and find it tedious to fill in all fields and keep those fields synchronised with changes 

Let's do it!

Time to look at it actually implemented!

Well at least an easy example

Questions?

Stuart Dines

Senior Software Engineer @ Stockspot http://stockspot.com.au

@sjdines

 http://stuartdines.com