Category Archives for "updates"

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