All Posts by big-nige

About the Author

Dec 02

EXPRESSION OF INTEREST: Co-author/Technical Editor

By big-nige | news

The first edition of Mastering Django: Core, the free book that forms the basis of this site, is due for an update to Django 1.11.

Writing a 650 page reference book is an enormous undertaking and one that is very difficult to complete alone in a reasonable timeframe, given I work full time in an industry unrelated to Django.

I have come to the realization that for the second edition to be as good as I want it to be, that it needs a second pair of eyes and someone with  a deep understanding of Django.

To this end, I am seeking a Co-author/technical editor for the new edition of the book.

What is on offer:

  • An advance plus on-going share of royalties (to be negotiated with the right candidate)
  • Listing as Co-author of the Second Edition

What will be required from you:

  • Test and revise existing code to Django 1.11
  • Identify sections in the book that are “just the docs” and replace with new material that adds value to existing docs
  • Assist in identifying new material that can be added and creating code examples and content to support the material

PLEASE NOTE THAT THIS IS NOT AN OFFER OF EMPLOYMENT. I am looking for an independent contractor who can assist in updating and editing the new book. 

Selection Criteria


  • Be a native English speaker
  • Have a strong technical understanding of Django
  • Be able to provide an Australian Tax Office compliant Tax Invoice and accept payment via Paypal
  • Be willing to enter into a publishing contract


  • Writing and editing experience
  • Access to, and experience with, InDesign 2018

If you are interested, send me a quick email outlining why you think you have the skills via the contact form. I will negotiate rates and timelines with suitable candidate. Applications that don’t meet the selection criteria will not be considered, so please no speculative applications, my inbox is full enough as it is 🙂 


Oct 26

Seeking Feeback and Suggestions for Core Second Edition

By big-nige | updates

Now Build your First Website with Python and Django is written, it’s time to start updating the content for the Second Edition of Mastering Django: Core (Core 2E).

For something that just started out as an experiment, Core has grown way beyond my expectations and I sincerely hope you have got as much out of it as I have.

Over the last year and a bit I have had plenty of great feedback and have noted three recurring issues:

  1. Some sections (like forms and generic views) needed expanding with more examples and screenshots;
  2. Some of the later sections were “just the docs”; and
  3. Downloadable source code would be helpful.

I plan on addressing all three in Core 2E, but right now, I would really appreciate some feedback from you.

I have pasted a table of planned updates below. If you could have a look at my plan and send me an email with further suggestions and feedback on how I might improve the plan, I would be very grateful.

Before you send me anything though, please take note:

  • It is Mastering Django: CORE. Any third-party apps or modules that are not core Django, will go in other tutorials/courses.
  • Give ReST a rest. Haha :). Seriously, I get it. Lots of people want more content on ReST API’s in Django. I am writing tutorials and a premium course in 2018 solely dedicated to ReST.

The Work-in-progress Core 2E Roadmap

Chapter No Chapter Name Planned Changes for Second Edition
  Introduction  Update
1 Getting Started Update install instructions to Python 3.6 and Django 1.11.
2 Django Views and URLconfs Update code for Django 1.11
3 Django Templates Update introductory material to Django 1.11. Update theory to hands on marking up of a HTML template (taken from First Website book), creating child and parent templates and create functioning views where learner can practice using tags and filters in a real template
4 Django Models Update code for Django 1.11
5 The Django Admin Update content and screenshots to Django 1.11. Add new content on Admin Actions and the Admin documentation generator
6 Django Forms Substantially update. Remove hand coding of forms (like who does that any more??). Introduce modern approach to form creation and management. Add more advanced form topics including styling, customization, model forms and multipart. Add lots of working examples
7 Advanced Views and URLconfs Remove. Reversing URLs, passing extra context etc will all be covered in beefed up chapter 3.
8 Advanced Templates More than half of this is from Django documentation. Collate topic areas and see how practical examples can be created to build on content from Chapter 3. Remove all Django docs and only reference where needed
9 Advanced Models More than half of this is from Django documentation. Collate topic areas and see how practical examples can be created to build and manipulated some more advanced models. Remove all Django docs and only reference where needed
10 Generic Views Complete rewrite. Build practical examples of all the generic views (excl. authentication views)
11 User Authentication in Django Most of this is unchanged from the Django documentation. Users in the admin is OK – update and expand a little. Rewrite with working examples of all the authentication CBVs. Remove all Django docs and only reference where needed
12 Testing in Django More technical content is from the Django docs. Remove and reference where needed. Build some more tests for existing app. Also look at some of Django’s tests as illustrative examples and consider putting in a section with use of assert False and deeper look into Django’s error pages.
13 Deploying Django Keep section on scaling. Rewrite deployment tasks. Add actual deployments. Maybe PythonAnywhere, Heroku, Digital Ocean and Web Faction?
14 Generating Non-HTML Content Add more content and examples on CSV and PDF. Remove sitemaps and RSS as they are copied from the Django docs. Add emailing from Django, uploading CSV as an admin action and serialization of data to JSON etc.
15 Django Session This is from the Django docs. Write some practical examples to work with the book code. Remove the rest.
16 Django Cache Framework Remove. Caching is hard to demonstrate in test environment and dummy cache not very illustrative. Reference Django docs in other parts of book that caching is mentioned.
17 Django Middleware All from the docs. Changes from MIDDLEWARE_CLASSES to MIDDLEWARE is covered in new chapter “What’s Changed from Django 1.8?”. Potentially turn included middleware and middleware ordering into an appendix, otherwise remove
18 Internationalisation Remove. The docs are the best reference for this. Reference docs from other parts of book that mentions internaltionalization
19 Security in Django Remove. The docs are the best reference for security in Django. Reference where applicable
20 More on Installing Django Remove. Reference uninstalling and installing dev version in Chapter 1
21 Advanced Database Management Rewrite. Provide connection settings for each database and any practical advice that I can find that complements the docs, otherwise remove and reference where applicable
A Model Definition Reference Update
B Database API Reference Update
C Generic View Reference Remove – cover all examples in Chapter 10
D Django Settings Update
E Built-in Template Tags and Filters Update
F Request and Response Objects Update
G Developing Django with Visual Studio Update. Potentially add content on debugging in VS as well as using VS Code as a more lightweight alternative to VS
New What Changed from Django 1.8? Overview of major changes between 1.8 and 1.11
New ?? New content on pagination, flat pages, messages and logging. Maybe add some content on signals as well?

As I said above, if you have some suggestions or feedback on how I can improve on this plan, please send me an email. Remember the caveats tho – no third-party apps and no ReST 😉

All the best with your Django programming.

Big Nige

Jun 18

Python For Django Programmers – Part 3

By big-nige | tutorials

In this final introductory tutorial on Python for Django programmers, I will be explaining how to catch errors with Python, discussing functions and classes in Python, explaining how packages, modules and the dot operator work in Python and finishing with a brief explanation of how regular expressions work in Python and Django.

Continue reading

May 28

Your invitation to be a part of my new book launch

By big-nige | news

UPDATE: Build your first website with Python and Django is out now!

Check it out here.

I have a new book for beginners coming out very soon.

In this new book I answer the big questions I get from beginners:

  • Why should I use Django?
  • What problems does Django help me solve?
  • What if I don’t know Python?
  • Please, can you give me something real? Something I can build and show off to my friends, or a potential employer – not just snippets like everyone else on the Internet?

Written for Django 1.11 and Python 3.6, the book teaches you to program using the absolute latest version of Django and Python.

By the end of the book you will not only know all of the basics to writing an awesome Django website, but you will have a functioning website ready for deployment, or to demonstrate to an employer – Or to show off to your friends 🙂


Will send you more information by email closer to launch day.

May 12

Django Overview

By big-nige | tutorials

In this chapter, we will cover the basic structure of Django and how all the pieces come together to create a web application.

After researching the Internet and analyzing feedback from my own audience, I believe the majority of queries from those considering learning Django come down to two common questions:

  1. Why should I use Django—What problems can Django solve?; and
  2. How does it all fit together?

Continue reading

May 09

Why Django?

By big-nige | tutorials

There is little doubt that Django is only one of many web frameworks available.

However, over the last decade, Django has distinguished itself as one of the leading frameworks for developing scalable, secure and maintainable web applications.

This is no fluke.

Continue reading