Book - Learning Django Web Development

"This is the repo of the Django Book - Learning Django Web Development" Django, written in Python, is a web application framework designed to build complex web applications quickly without any hassle. It loosely follows the MVC pattern and adheres to the Don’t Repeat Yourself principle, which makes a database-driven application efficient and highly scalable, and is by far the most popular and mature Python web framework.

Authors

How to use this code repository:

Setup The Project repository on your local machine by cloning it :

$ git clone https://github.com/ratancs/learning-django-web-development.git

What's inside The Book

This book is a manual that will help you build a simple yet an effective Django web application. It starts by introducing Django, setting it up, and code simple programs. You will then learn to build your first Twitter-like app. Later on you will be introduced to HashTags, Ajax to enhance the user interface, and tweets. You will then move on to create an administration interface, learn database connectivity, and use third-party libraries. Then you will learn to debug and deploy Django projects, and also get a glimpse of Django with AngularJS and ElasticSearch. By the end of the book you will be able to leverage Django framework to develop a fully functional web application with minimal efforts.

Chapter 1

Introduction to Django gives you an introduction to MVC web development frameworks, a history of Django, and explains why Python and Django are the best tools to use to achieve the aim of this book.

Chapter 2

Getting Started shows how to set up our development environment on UNIX/Linux, Windows and Mac OS X. We will also see how to create our first project, and connect it to a database.

Chapter 3

Code Style in Django covers all the basic topics which you would require to follow such as coding practices for better Django web development, which IDE you should use, and version control.

Chapter 4

Building Application like Twitter takes you through a tour of the main Django components, and develops a working prototype for your twitter application.

Chapter 5

Introducing HashTags teaches you to design the algorithm for building a hashtag model and mechanism to use hashtag in your post.

Chapter 6

Enhancing the User Interface with AJAX will help you enhance the UI experience using AJAX with Django.

Chapter 7

Following and Commenting shows how to create login, logout, and registration page template. It will also show you how to allow following another user and displaying the most followed user.

Chapter 8

Creating an Administration Interface, you will learn the features of Administrator interface using Django’s inbuilt features and how we can show tweets in customized way with sidebar or pagination enabled.

Chapter 9

Extending and Deploying prepares your app for deployment into production by utilizing various Django frameworks features. It will also show you how to add support for multiple languages, improve performance by caching, automate testing, and configure the project for a production environment.

Chapter 10

Extending Django speaks about improving various aspects of our application, mainly performance and localization. It also teaches how to deploy your project on a production server.

Chapter 11

Database Connectivity, cover various ways of database connectivity such as MySQL, NoSQL, PostreSQL and so on, which is required for any database-based applications.

Chapter 12

Using Third-party Packages, talks about open source and how to use and implement open source third-party packages in your project.

Chapter 13

Art of Debugging, shows how to log and debug your code for better and efficient coding practice.

Chapter 14

Deploying Django Projects, shows how to move a Django project from development to a production environment and what are the things that needs to be taken care off before you go live.

Chapter 15

What's Next, will take you to the next where you will be introduced to the two most important and preferred components, AngularJS and Elasticsearch, used in the Django project.