Book Image

Web Development with Django Cookbook- Second Edition - Second Edition

By : Aidas Bendoraitis
Book Image

Web Development with Django Cookbook- Second Edition - Second Edition

By: Aidas Bendoraitis

Overview of this book

Django is a web framework that was designed to strike a balance between rapid web development and high performance. It has the capacity to handle applications with high levels of user traffic and interaction, and can integrate with massive databases on the backend, constantly collecting and processing data in real time. Through this book, you'll discover that collecting data from different sources and providing it to others in different formats isn't as difficult as you thought. It follows a task-based approach to guide you through all the web development processes using the Django framework. We’ll start by setting up the virtual environment for a Django project and configuring it. Then you’ll learn to write reusable pieces of code for your models and find out how to manage database schema changes using South migrations. After that, we’ll take you through working with forms and views to enter and list data. With practical examples on using templates and JavaScript together, you will discover how to create the best user experience. In the final chapters, you'll be introduced to some programming and debugging tricks and finally, you will be shown how to test and deploy the project to a remote dedicated server. By the end of this book, you will have a good understanding of the new features added to Django 1.8 and be an expert at web development processes.
Table of Contents (18 chapters)
Web Development with Django Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Setting the Subversion ignore property


If you are using Subversion for version control, you will need to keep most of the projects in the repository; however, some files and directories should only stay locally and not be tracked.

Getting ready

Make sure that your Django project is under the Subversion version control.

How to do it…

Open your command-line tool and set your default editor as nano, vi, vim or any other that you prefer, as follows:

$ export EDITOR=nano

Tip

If you don't have a preference, I would recommend using nano, which is very intuitive and a simple text editor for the terminal.

Then, go to your project directory and type the following command:

$ svn propedit svn:ignore myproject

This will open a temporary file in the editor, where you need to put the following file and directory patterns for Subversion to ignore:

# Project files and directories
local_settings.py
static
media
tmp

# Byte-compiled / optimized / DLL files
__pycache__
*.py[cod]
*$py.class
# C extensions
*.so

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov
.tox
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover

# Translations
*.pot

# Django stuff:
*.log

# PyBuilder
target

Save the file and exit the editor. For every other Python package in your project, you will need to ignore several files and directories too. Just go to a directory and type the following command:

$ svn propedit svn:ignore .

Then, put this in the temporary file, save it, and close the editor, as follows:

# Byte-compiled / optimized / DLL files
__pycache__
*.py[cod]
*$py.class
# C extensions
*.so

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov
.tox
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover

# Translations
*.pot

# Django stuff:
*.log

# PyBuilder
target

How it works…

In Subversion, you need to define the ignore properties for each directory of your project. Mainly, we don't want to track the Python-compiled files, for instance, *.pyc. We also want to ignore local_settings.py that is specific for each environment, static that replicates collected static files from different apps, media that contains uploaded files and changes together with the database, and tmp that is temporarily used for file uploads.

Tip

If you keep all your settings in a conf Python package as described in the Configuring settings for development, testing, staging, and production environments recipe, add settings.py to the ignored files too.

See also

  • The Creating and including local settings recipe

  • The Creating the Git ignore file recipe