Book Image

Django Project Blueprints

By : Asad Jibran Ahmed
Book Image

Django Project Blueprints

By: Asad Jibran Ahmed

Overview of this book

Django is a high-level web framework that eases the creation of complex, database-driven websites. It emphasizes on the reusability and pluggability of components, rapid development, and the principle of don't repeat yourself. It lets you build high-performing, elegant web applications quickly. There are several Django tutorials available online, which take as many shortcuts as possible, but leave you wondering how you can adapt them to your own needs. This guide takes the opposite approach by demonstrating how to work around common problems and client requests, without skipping the important details. If you have built a few Django projects and are on the lookout for a guide to get you past the basics and to solve modern development tasks, this is your book. Seven unique projects will take you through the development process from scratch, leaving no stone unturned. In the first two projects, you will learn everything from adding ranking and voting capabilities to your App to building a multiuser blog platform with a unique twist. The third project tackles APIs with Django and walks us through building a Nagios-inspired infrastructure monitoring system. And that is just the start! The other projects deal with customizing the Django admin to create a CMS for your clients, translating your web applications to multiple languages, and using the Elasticsearch search server with Django to create a high performing e-commerce web site. The seventh chapter includes a surprise usage of Django, and we dive deep into the internals of Django to create something exciting! When you're done, you'll have consistent patterns and techniques that you can build on for many projects to come.
Table of Contents (15 chapters)
Django Project Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Using pdb to debug Django views


You will often come across problems in your Django applications that are not immediately clear. When I get stuck with a tough bug, especially when it's inside a Django view, I use the Python debugger, which is built into Python, to step through my view code and debug the problem. To do so, you'll need to put this line of code into your view right before the point where you think the problem exists:

import pdb; pdb.set_trace()

Then, the next time you load the page associated with that view, you'll see that your browser appears to not load anything. This is because your Django application is now paused. If you look in the console where you ran the runserver command, you should see a prompt for pdb. In the prompt, you can type the name of any variable available in the current Python scope (usually the scope of the view that you are debugging) and it will print the current value of that variable. You can also run a bunch of other debugging commands. For a complete list of available features, take a look at the documentation for the Python debugger at https://docs.python.org/3/library/pdb.html.

A good Stack Overflow question with useful answers that lists some other debugging techniques is http://stackoverflow.com/questions/1118183/how-to-debug-in-django-the-good-way.