Django Articles (233) Configuring Sphinx Auto-Doc with projects having Django dependencies How to make it so projects with Django as a dependency benefit from Sphinx's auto-documentation features. January 19, 2023 Practice Python Web Projects Python web projects taken from my personal history to practice on to improve your skills. January 14, 2023 Live Discussion with Sebastián Ramírez (Tiangolo) I have a friendly live discussion with Sebastián Ramírez, creator of FastAPI, Typer, SQL Model, and more. April 26, 2022 Speaking at Python Web Conf My first public conference talk in three years February 10, 2022 What's the Ultimate Reason for Working at Octopus Energy? Wherin I conclude my discussion about why I work at Octopus Energy. June 24, 2021 What's the Best Thing about Working for Octopus Energy? An in-depth discussion about my employment at Octopus Energy. June 8, 2021 Recap of 2020 and Resolutions for 2021 January 29, 2021 August 2020 Courses All the live, online, interactive courses I'm teaching in the month of August 2020. August 11, 2020 I'm Teaching A Live Online Django Crash Course July 2, 2020 Django Slug + ID URL Design How to combine slugs and IDs to make a a human readable unique URL design. May 20, 2020 Two Scoops of Django 3.x Released The book about best practices for the Django Web Framework, Two Scoops of Django, has been revised, updated, and expanded for versions 3.0, 3.1, and 3.2. May 11, 2020 Adding Metadata to PDFs How to use Python to combine PDFs and then add metadata to them. February 28, 2020 Our New Django Book Has Launched! We wrote a beginner-friendly tutorial book for Django! February 10, 2020 Stop Using Executable Code Outside of Version Control Fighting the local_settings.py antipattern August 3, 2018 Authenticating via JWT using Django, Axios, and Vue Getting DRF, JWT, Axios, and Vue to play nice April 21, 2018 Writing A New Blog Engine Where I describe why and how I wrote a new blog engine March 29, 2018 Implemementing Manual Schema with Django REST Framework Implementing a manual schema in Django REST Framework February 1, 2018 When to Use MongoDB with Django Short answer is you don't use MongoDB with Django. Read on for the specifics. January 26, 2018 Hola, PyCon Colombia! We're going to PyCon Colombia! January 19, 2018 2018 New Years Resolutions My New Year's resolutions for 2018. January 4, 2018 Two Scoops of Django Birthday Giveaway My 2017 birthday giveaway contest. July 24, 2017 Two Scoops of Django 1.11 Is Printed! July 13, 2017 Using Python and Google Docs to Build Books Using Python to combine multiple Google docs into one cohesive whole that can be published as a book. May 15, 2017 Python F-Strings Are Fun! April 27, 2017 Two Scoops of Django 1.11 is Out! April 26, 2017 Code, Code, Code I'm often asked by new programmers how they can forge a path into using their skills professionally. Or how they can get better at writing software. In this article I share the secret master-level method to improvement. May 28, 2016 Pretty Formatting JSON in the Django Admin May 26, 2016 How To Create Installable, Reusable Django Packages November 20, 2015 Intensive Django Training with the US Air Force November 3, 2015 Why Doesn't Python Have Switch/Case? June 9, 2015 Django Girls Ensenada 2015 May 27, 2015 Markup Language Faceoff: Lists May 14, 2015 Two Scoops of Django 1.8 is Out! April 29, 2015 Phasing Out Django Packages APIv1 & APIv2 March 1, 2015 I did an Au Batido in 2014, now what? December 20, 2014 Adding Django form instance attributes Sometimes in the `clean()`, `clean_FOO` or `save()` methods of a Django form, you need to have additional form instance attributes available. A sample case for this is having `user_id` available. This is a simple example of how to do it in Class-Based Views. September 15, 2014 Announcing BarCamp Django SF! September 12, 2014 Hola, Argentina! August 13, 2014 Want to work for Eventbrite? July 23, 2014 Want to work for Eventbrite? (part 2) July 23, 2014 cached-property: Don't copy/paste code July 1, 2014 Beginner's Guide to PyCon 2015 April 5, 2014 Two Scoops of Goblins April 1, 2014 Memories of Malcolm March 17, 2014 Announcing Two Scoops of Django 1.6! February 5, 2014 awesome-slugify: Human-readable URL slugs from any string (part 2) January 22, 2014 awesome-slugify: Human-readable URL slugs from any string January 21, 2014 pytest: no-boilerplate testing (part 3) January 17, 2014 pytest: no-boilerplate testing (part 2) January 16, 2014 pytest: no-boilerplate testing January 15, 2014 New Year's Resolutions for 2014 January 1, 2014 Cookiecutter: Project Templates Made Easy Cookiecutter makes creating and maintaining project templates easy and intuitive. 2013-8-17 Made Up Statistics 2013-7-26 Travel Tips for Geeks: Preventing Theft 2013-7-18 My experiences with Django and Python 3 2013-7-11 EuroPython Intro to Django Workshop 2013-7-01 Core Concepts of Django ModelForms The concepts behind Django's model forms can be boiled down to six items. 2013-6-13 Tools we used to write Two Scoops of Django 2013-5-03 Filepicker.io and South 2013-4-23 Off to Europe! 2013-4-20 Two Scoops of Django is in print! 2013-4-17 Generating NCX files with Python 2013-4-15 Core Concepts of Django Forms The concepts behind Django's non-model forms can be listed in just three items. 2013-3-29 Overloading Django Form Fields How to overload Django form fields in an extensible way. 2013-3-27 New Year's Meme 2013 December 31, 2013 Python Indie Bundle Cyber Monday Sale December 2, 2013 The Easy Form Views Pattern Controversy May 10, 2013 PyCon Tutorial: Wiring Up Django Packages 2013-03-8 Beginner's Guide to PyCon 2013 Part III March 10, 2013 We are not using PayPal March 2, 2013 Two Scoops of Django 1.5 Beta Released February 28, 2013 Beginner's Guide to PyCon 2013 Part II January 23, 2013 Beginner's Guide to PyCon 2013 Part I January 22, 2013 Two Scoops of Django FAQ January 21, 2013 Our Django Book Has Launched January 17, 2013 New Year's Resolutions for 2013 December 31, 2012 New Year's Python Meme 2012 December 28, 2012 Developer Time December 4, 2012 Stay with the Django CBV defaults! November 27, 2012 Case Study: URL Design for petcheatsheets.com November 21, 2012 Django GetOrCreateView Probably the first article outside the official docs on how to use the Django CBV form_valid method. Written in 2012 and still accurate in 2023! October 16, 2012 Los Angeles Open Source Sprint on Nov 4th! October 14, 2012 We need more PyCon US 2013 submissions! September 27, 2012 Thoughts on my stack September 4, 2012 A Public Service Message to the Python Community August 20, 2012 Django Requirements 2012-08-15 August 15, 2012 Curiosity has landed! August 6, 2012 Deadline for DjangoCon Financial Aid requests is tomorrow! August 2, 2012 Attaching custom exceptions to functions and classes August 2, 2012 Django Update View Without Slug in the URL July 28, 2012 July 15th, 2012 LA Open Source Recap July 16, 2012 Simple HTTP Basic Auth Wall July 9, 2012 PyCon Philippines 2012 Day 2 A wonderful end to a wonderful event. July 5, 2012 PyCon Philippines 2012 Day 1 The first day of the first PyCon Philippines! July 3, 2012 Announcing PyCon Philippines! June 9, 2012 Django Class Based View: email form with CAPTCHA May 23, 2012 Simple Django email form using CBV May 22, 2012 May 12th, 2012 LA Open Source Recap May 21, 2012 10 reasons to go to DjangoCon Europe May 14, 2012 CSS Hacking to make my code samples legible May 11, 2012 Choosing an API framework for Django May 10, 2012 Django Requirements for a project May 9, 2012 Los Angeles Open Source Sprint on May 12th! May 1, 2012 Join us at DjangoCon Europe! April 10, 2012 Calendar About Nothing March 28, 2012 Launching our API at PyCon 2012 March 9, 2012 The sorry state of Python OAuth providers March 5, 2012 You should Heroku February 28, 2012 My PyCon 2012 Schedule February 22, 2012 Selected for PyCon StartUp Row February 21, 2012 My blog is moved February 19, 2012 django-uni-form end of life February 18, 2012 Silicon Beach Hackercast An attempt made long ago to create a podcast February 16, 2012 How to justify attending PyCon sprints January 25, 2012 Join the PyCon Early Birds program! January 23, 2012 My SOPA boycott January 18, 2012 New Year’s Python Meme December 23, 2011 Announcing Consumer Notebook! December 16, 2011 My BaseModel December 9, 2011 Made Up Statistics December 7, 2011 The Story of Live-Noting December 5, 2011 Conference Talks I want to see October 9, 2011 Profiles: Breaking Normalization How my Django profile models looked over 10 years ago. September 23, 2011 Quick conferences report: Presentations September 14, 2011 The Ultimate Django Tutorial Workshop July 31, 2011 Python and Django class/hackathon! July 18, 2011 Do not upload dev releases at PyPI June 25, 2011 Announcing django-uni-form 0.8.0 beta! June 24, 2011 Hollywood Hackathon on June 18th! June 12, 2011 We won first place at Startup Camp LA! April 25, 2011 I teach Python and Django April 22, 2011 Are you looking for Python and Django Work? April 9, 2011 Python Packages sprint on Sunday 4/10/2011 April 6, 2011 PyCon 2011 Sprint Report April 5, 2011 Announcing Garbaginator! April 1, 2011 My Django tutorial at PyCon February 17, 2011 My Pinax Solutions class at Pycon 2011 February 14, 2011 How to sell Python panel at Pycon February 12, 2011 What I want for Django Facebook connect January 31, 2011 Los Angeles Open Source Hackathon January 26, 2011 Why you should go to Pycon January 20, 2011 January Mongo LA conference January 15, 2011 Pinax Tutorial at Pycon 2011 January 11, 2011 Resolutions for 2011 December 31, 2010 Recap of 2010 December 30, 2010 Reactions to "Stupid Template Languages" December 6, 2010 Stupid Template Languages December 3, 2010 Release classifiers in distutils/pypi November 6, 2010 A request for new pypi classifiers November 6, 2010 DjangoCon 2010 report I September 22, 2010 New features for Django Packages August 29, 2010 Django Dash Lessons Learned August 21, 2010 Announcing Django Packages! August 17, 2010 More reasons to go to DjangoCon! August 8, 2010 Getting excited about DjangoCon US! August 7, 2010 Getting piston forms to play nicely with JSON July 16, 2010 I want to talk to Jython and Iron Python developers July 9, 2010 Moving away from DC April 23, 2010 Leaving NASA March 21, 2010 Pycon 2010 report III: Sprints March 5, 2010 Pycon 2010 report II March 1, 2010 Pycon 2010 report I February 24, 2010 Eating my own Dog Food February 10, 2010 Learn something new every year January 14, 2010 Reserve your low pycon price today! January 5, 2010 Register for Pycon 2010 already! January 5, 2010 DjangoCon 2009 videos are up! January 3, 2010 Resolutions for 2010 January 1, 2010 New Year's Python meme December 29, 2009 Recap of 2009 December 27, 2009 Picking a Django powered CMS November 12, 2009 Code I'll reuse November 10, 2009 Eating your own dogfood November 8, 2009 Pycon talks and tutorials November 3, 2009 November Django Lunch Meetup was fun! November 2, 2009 Sys Admins: What your Developers want you to know October 9, 2009 Have you signed up for the Django Master Class? October 7, 2009 Djangonaut Lunch in Crystal City September 30, 2009 Something I learned at DjangoCon September 29, 2009 Looking for work? September 22, 2009 Pycon talk thoughts September 20, 2009 Slides from DjangoCon 2009 September 18, 2009 Pycon talk proposal reminder September 16, 2009 Show me your open source Django CMS September 16, 2009 Best DjangoCon 2009 Day Ever! September 10, 2009 See you at DjangoCon! September 5, 2009 All set to go to Portland, Oregon! September 5, 2009 I want to give a class or talk at Pycon 2010 September 2, 2009 NOVA-DUG August 19th summary August 20, 2009 NOVA-DUG meeting notice for August 19th August 14, 2009 NOVA-DUG scheduling August 12, 2009 Turning away from CAPTCHA July 17, 2009 NOVA-DUG meeting notice for July 8th July 8, 2009 What happened to NOVA-DUG? June 24, 2009 Thanks for San Francisco! June 19, 2009 DC Sprints location is changed! May 7, 2009 DC sprints location is official! May 6, 2009 NOVA-DUG April 29th summary April 30, 2009 NOVA-DUG meetup for Wed, April 29th April 23, 2009 Sweet spots of Plone April 22, 2009 Finger method of judging graphic design April 20, 2009 What I learned at Pycon 2009 April 17, 2009 NOVA-DUG April 15th summary April 16, 2009 Show me your open source Django blog application April 9, 2009 NOVA-DUG meeting on Wednesday, April 15th, at 7:30 pm April 8, 2009 Northern Virginia Django Users Group lives! April 5, 2009 Django Dash worst concept contest April 5, 2009 Jinja2 in zope April 4, 2009 What I would change in Plone: Templates April 3, 2009 Forming a Northern Virginia Django User Group April 3, 2009 Day 3 Pycon-09 talks I'm attending March 29, 2009 Best Pycon 2009 Day Ever! March 29, 2009 Heading off to Pycon 2009! March 24, 2009 Looking for work? March 5, 2009 Naming conventions thoughts for Pinax and Django February 19, 2009 Should django-uni-form handle boilerplate HTML? February 11, 2009 Second Annual President's Day Sprint January 19, 2009 Simplegraph Screen Capture January 13, 2009 django-uni-form lives! January 12, 2009 Looking under the hood of Pinax December 17, 2008 I've not quite done LAMP, or have I? September 7, 2008 Umlizer lives! June 15, 2008 Should I write a book? June 11, 2008 The problem with comparing Pylons to Django May 9, 2008 What I want in a feed aggregator April 24, 2008 This looks interesting... April 8, 2008 Issues with zope.formlib April 4, 2008 Django at Pycon March 24, 2008 Django fun March 6, 2008 Working from Panera today March 2, 2008 Playing with Django November 23, 2007 Pylons vs Django November 7, 2007 ZPUG-DC Report 2007/11/07 November 7, 2007