Django Development with IIS

From Littledamien Wiki
Jump to navigation Jump to search

Overview

Information about setting up Django projects on IIS.

Prerequisites

BitNami Django Stack

The BitNami Django Stack is a bundle of installers for the whole environment necessary to run Django on a Windows server. It includes Python, MySQL, PostgreSQL, an Apache server, and Django.

The installation prompts for a port number to use for the Apache server. 8080 is commonly used.

The Apache server can then be reached with `http://localhost:8080. Or, after opening the port in Windows Firewall, the server can be reached on the LAN with http://[MACHINE_NAME]:8080 or http://[LOCAL_IP]:8080`.

Changing the Apache server port number

To change the port number of the Apache server after installation:

  • Edit the Listen value in the [DJANGO_INSTALL_ROOT]/apache2/conf/httpd.conf file.
  • Restart the server.
  • (Windows Start Menu > BitNami DjangoStack > Manager Tool > Apache Web Server > Restart)

Accessing projects

For each Django Project:

  • Create a WSGI application script file named projectName.wsgi in [DJANGO_INSTALL_DIR]/appls/django/conf.

import os, sys
sys.path.append('/path/to/your/project/folder')
os.environ['DJANGO_SETTINGS_MODULE'] = 'projectName.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

  • After saving the WSGI file, create an Apache configuration file named projectName.conf in installdir/apps/django/conf to load it.

Alias /static "installdir/apps/django/lib/python-version/site-packages/django/contrib/admin/static"

<Directory 'installdir/apps/django/lib/python-version/site-packages/django/contrib/'>
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias /URL_mount_point "installdir/apps/django/scripts/projectName.wsgi"

<Directory 'installdir/apps/django/scripts'>
Order allow,deny
Allow from all
</Directory>

  • Edit the file 'httpd.conf' and add the following line:

Include "installdir/apps/django/conf/projectName.conf"

  • Restart the Apache server.

N.B. that paths on Windows should use Unix-style forward slashes: c:/path/to/dir/

Source: BitNami Django Stack Wiki: How to Start a Django Project?