# Python and Django Hosting UK

Source: https://dijituldns.co.uk/python-django-hosting/
Updated: 2026-10-08

> dijitul hosts Python web apps in the UK, including Django and Flask. Small WSGI apps run on our Plesk plan through Phusion Passenger with a virtualenv, MySQL or MariaDB and daily backups, for £1 a day + VAT. Apps that need Celery, Redis, Django Channels, PostgreSQL extensions or heavy processing get a quoted managed VPS.

## Key facts

- WSGI apps (Django, Flask) served through Phusion Passenger on Plesk
- Each app runs in its own Python virtualenv with requirements.txt
- Static files collected with collectstatic and served by the web server
- MySQL or MariaDB on the standard plan
- Management commands run as Plesk scheduled tasks
- Celery, Redis, ASGI and Channels on a quoted managed VPS
- £1 a day + VAT for apps that fit the plan

## How Python apps run on our Plesk hosting

Plesk can serve Python WSGI applications through Phusion Passenger, the same application server it uses for Node.js. For a Django or Flask app, the setup looks like this:

- a **virtualenv** for the app, with packages installed from requirements.txt
- a **passenger_wsgi.py** file that points Passenger at your app's WSGI callable
- a **document root** for static and media files, so the web server serves them directly
- **environment variables** for secrets, kept out of your repository

We set this up for you. It's less hands-on than a full server, which is the point: you get a working Django site without becoming a sysadmin.

## Django settings for production

Most Django problems in production come from a handful of settings. We check each one when we deploy:

- **DEBUG = False**, so error pages don't leak settings and paths
- **ALLOWED_HOSTS** set to your domain
- **STATIC_ROOT and MEDIA_ROOT** pointing inside the document root, with python manage.py collectstatic run on deploy
- **SECRET_KEY** loaded from the environment, not hard-coded
- **CSRF_TRUSTED_ORIGINS** including your https address
- **Database** connection to MySQL or MariaDB, using the mysqlclient driver and utf8mb4

Migrations run with python manage.py migrate, and recurring jobs such as clearsessions run as Plesk scheduled tasks.

## What fits the plan and what needs a VPS

| Your Python app | Where it fits |

| Django or Flask website, admin site or small API | dijitul Complete Hosting |
| Scheduled management commands | dijitul Complete Hosting |
| Celery workers, Redis or RabbitMQ | Quoted [managed VPS](https://dijituldns.co.uk/managed-vps/) |
| ASGI, Django Channels or WebSockets | Quoted managed VPS |
| PostgreSQL with extensions such as PostGIS | Quoted managed VPS |
| Machine learning models or data processing | Quoted, see [AI hosting](https://dijituldns.co.uk/ai-hosting/) |

## Moving an existing Python app

Python apps are often tied to the server they grew up on: a particular Python version, system packages installed by hand, a cron job nobody wrote down. Before moving, we list the Python version, every package in requirements.txt or pip freeze, the database, environment variables and scheduled jobs. Then we rebuild the environment, migrate the database and test on a temporary address. Older apps on Python 2 or very old Django releases need upgrading before they'll run on a current server, and we can quote for that.

## Talk to us first

Python hosting is less one-size-fits-all than PHP, so we'd rather check before you order. Email info@dijitul.uk with your requirements.txt and a line about what the app does, or call 01623 650333. We'll confirm whether it fits the £1 a day + VAT plan or recommend a VPS. For the Node.js equivalent, see [Node.js hosting](https://dijituldns.co.uk/nodejs-hosting/); for APIs, see [API hosting](https://dijituldns.co.uk/api-hosting/).

## FAQs

### Where can I host a Django website in the UK?

dijitul hosts Django sites in the UK. Small WSGI apps run on managed Plesk hosting through Phusion Passenger with a virtualenv and MySQL or MariaDB, for £1 a day + VAT. Apps that need Celery, Redis, Channels or PostgreSQL extensions are hosted on a quoted managed VPS.

### Can Plesk host Python apps?

Yes. Plesk can serve Python WSGI applications such as Django and Flask through Phusion Passenger, using a passenger_wsgi.py entry point and a virtualenv. It suits request-driven web apps. Background workers like Celery need a server where processes can run all the time.

### How do I serve Django static files in production?

Set STATIC_ROOT to a folder the web server can serve, run python manage.py collectstatic on each deploy, and let the web server deliver those files rather than Django. Media uploads work the same way with MEDIA_ROOT. dijitul configures both when hosting Django.

### Can I run Celery on shared hosting?

Generally no. Celery needs always-running worker processes and a message broker such as Redis or RabbitMQ, which shared hosting doesn't provide. For simple scheduled tasks, a cron-driven management command often works instead. For real Celery workloads, dijitul quotes a managed VPS.

### Can you host a Flask app?

Yes. Flask is a WSGI app, so it runs through Phusion Passenger on our Plesk hosting the same way Django does, with its own virtualenv and environment variables. Small Flask sites and APIs fit dijitul Complete Hosting at £1 a day + VAT.

## Pricing and ordering

dijitul Complete Hosting is £1 a day + VAT (£365 a year + VAT). Order at https://clients.dijitul.uk/order?product=complete-hosting&ref=dijituldns&src=python-django-hosting or call 01623 650333.
