Regardless of what you might hear trolling around the Internet, Microsoft Visual Studio (VS) has always been an extremely capable and powerful Integrated Development Environment (IDE). As a developer for multiple platforms, I have dabbled in just about everything else out there and have always ended up back with VS.
The biggest barriers to wider uptake of VS in the past have been (in my opinion):
- Lack of good support for languages outside of Microsoft’s ecosystem (C++, C# and VB).
- Cost of the fully featured IDE. Previous incarnations of Microsoft ‘free’ IDE’s have fallen a bit short of being useful for professional development.
With the release of Visual Studio Community Editions a few years ago and the more recent release of Python Tools for Visual Studio (PTVS), this situation has changed dramatically for the better. So much so that I now do all my development in VS – both Microsoft technologies and Python and Django.
I am not going to go on with the virtues of VS, lest I begin to sound like a commercial for Microsoft, so let’s assume that you have at least decided to give VS and PTVS a go.
Firstly, I will explain how to install VS and PTVS on your Windows box and then I will give you a quick overview of all the cool Django and Python tools that you have at your disposal.
Installing Visual Studio
Once you have taken careful note of the warning above, jump on to the Visual Studio website and download the free Visual Studio Community Edition 2015 (Figure G-1).
Launch the downloaded installer file, make sure the default install option is selected (Figure G-2) and click install.
Now’s the time to go make yourself a coffee. Or seven. Microsoft, remember – it’s going to take a while. Depending on your Internet connection this can take anywhere from 15 minutes to more than an hour.
In a few rare cases it will fail. This is always (in my experience) either forgetting to turn antivirus off or a momentary dropout in your Internet connection. Luckily VS’s recovery process is pretty robust and I have found rebooting and restarting the install after a failure works every time. VS will even remember where it’s up to, so you don’t have to start all over again.
Install PTVS and Web Essentials
Once you have installed VS, it’s time to add Python Tools for Visual Studio (PTVS) and Visual Studio Web Essentials.
From the top menu, select
Tools > Extensions and Updates (Figure G-3).
Once the Extensions and Updates window opens, select “online” from the dropdown on the left to go to the VS online application gallery. Type “Python” in the search box on the top right and the PTVS extension should appear on the top of the list (Figure G-4).
Repeat the same process for VS Web Essentials (Figure G-5). Note that, depending on the VS build and what extensions have been installed previously, Web Essentials may already be installed. If this is the case, the “download” button will be replaced with a green tick icon.
Creating A Django Project
One of the great things about using VS for Django development is that the only thing you need to install other than VS is Python. So if you followed the instructions in Chapter 1 and have installed Python, there is nothing else to do – VS takes care of the virtual environment, installing any Python modules you need and even has all of Django’s management commands built in to the IDE.
To demonstrate these capabilities, lets create our
mysite project from Chapter 1, but this time we will do it all from inside VS.
Start A Django Project
File > New > Project from the top menu and then select a Python web project from the dropdown on the left. You should see something like Figure G-6. Select a Blank Django Web Project, give your project a name and then click OK.
Visual Studio will then display a popup window saying that this project requires external packages (Figure G-7). The simplest option here is to install directly into a virtual environment (option 1), but this will install the latest version of Django, which at the time of writing is 1.9.7. As this book is for the 1.8 LTS version we want to select option 3 “I will install them myself” so we can make the necessary changes to the
Once the project has installed, you will notice in Solution Explorer on the right of the VS screen the complete Django project structure has been created for you. Next step is to add a virtual environment running Django 1.8. At the time of writing the latest version is 1.8.13, so we have to edit our
requirements.txt file so the first line reads:
Save the file and then right click “Python Environments” in your Solution Explorer and select “Add Virtual Environment” (Figure G-8).
In the popup window, change the default environment name from “env” to something more meaningful (if you are following on from the example in Chapter 1, use “
env_mysite”). Click “Create” and VS will create a virtual environment for you (Figure G-9).
Django Development in Visual Studio
Microsoft have put a lot of effort into ensuring developing Python applications in VS is as simple and headache free as possible. The killer feature for beginning programmers is full IntelliSense for all Python and Django modules. This will accelerate your learning more than any other feature as you don’t have to go through documentation looking for module implementations.
The other major aspects of Python/Django programming that VS makes really simple are:
- Integration of Django management commands.
- Easy installation of Python packages.
- Easy installation of new Django apps.
Integration of Django Management Commands
All of Django’s common management commands are available from the Project menu (Figure G-10).
From this menu you can run migrations, create superusers, open the Django shell and run the development server.
Easy Installation of Python Packages
Python packages can be installed directly into any virtual environment from Solution Explorer, just right click on the environment and select “Install Python Package…” (Figure G-11).
Packages can be installed with either
Easy Installation of New Django Apps
And finally, adding a new Django app to your project is as simple as right clicking on your project and selecting
Add > Django app... (Figure G-12). Give your app a name and click “OK” and VS will add a new app to your project.
This is only a quick overview of the things you can do with Visual Studio; just to get you started. Other things worth exploring are:
- VS’s repository management including full integration with local Git repos and GitHub.
- Deployment to Azure with a free MSDN developer account (only supports MySQL and SQLite and the time of writing).
- Inbuilt support for testing.
- Did I mention full IntelliSense support?