If you don't have a Django application created and don't know how, then I suggest reading through Django's documentation which is not only very documented, but also has quite a few useful tutorials. Note: I've linked to the 'dev' branch of documentation to make this tutorial a little more relevant over time. However, it's important you use the documentation of the actual version of Django you have installed.

Note: This guide works for native and environment based Python installation. I personally used an Anaconda Environment without any issues. It's assumed from the rest of this guide, that you're working in this environment.

Installation and Setup

There are two major steps to take when installing and setting up Django to be used on IIS.

Installing and enabling wfastcgi

Configuring IIS for Django

Installing and enabling wfastcgi

Summary (tl;dr)

pip install wfastcgi

wfastcgi-enable

Detailed Explanation

First off, we need to install wfastcgi using pip (or you preference of installation method):

pip install wfastcgi

wfastcgi was created by the Python Tools for Visual Studio people, but PTVS isn't required. If you find any issues with wfastcgi you can file a report on their Github repo.

After installing you need to enable wfastcgi you need to enable it:

wfastcgi-enable

You may need to use the full file path:

<path to python install>\scripts\wfastcgi-enable

Configuring IIS for Django

Summary (tl;dr)

Add Handler Mapping

Set Root folder for IIS Site

A file called web.config should be created in root folder of you Django Site (same location as your manage.py file). Here's a template: