Django

Django is the main framework for building web applications in the Python language, best known for turning a description of your data into a working back office.

Also known as Django framework Python web framework Django Python

Definition

Django is a free framework for building websites and web applications in the Python language. A framework is a box of ready-made parts, so serving a page, saving information and letting someone sign in are already handled before your project begins. Django calls itself the framework for perfectionists with deadlines, and that line explains why busy teams choose it.

The famous part is the admin. You describe your data once in plain terms — a patient has a name, a phone number and a date of birth — and Django turns that description into a working back office. You get lists, search, add, edit and delete, with a login and separate permissions for each employee. None of that costs an extra week or an extra invoice, so for an internal tool that ten people use, it can be most of the job.

Here is the trap, and it catches buyers more than developers. The admin looks finished, so it is shown in a meeting and everyone leaves believing the project is nearly done. What they saw is a data editor for trusted staff, not a screen designed around the daily work. That is why a receptionist booking forty appointments a day needs one screen with a calendar, not three tables in a menu. For the same reason the admin should never be handed to your customers. When Linkysoft builds on Django we keep it for the back office and design the everyday screens separately, because saying that in week one is what stops a web application project from stalling in month three.

The second reason to choose Django is the language underneath it, because almost all data analysis and machine learning is written in Python. Suppose your system must one day read its own numbers and guess which item to reorder, or which invoice will be paid late. Django then keeps the website and that prediction work in one language and one team, and that saving is the honest reason to prefer Django to an equally good tool in another language.

Django is also careful by default. Passwords are stored scrambled, forms are protected against a common trick where another site sends a request in your name, and text a visitor types is handled safely before it reaches the database. You can still write something unsafe, but only if you go out of your way. None of that replaces a proper security review before launch, which is why Linkysoft counts the review as part of the build, not an extra.

Questions about Django

Is Django a programming language?
No. The language is Python. Django is a set of ready-made parts written in Python that saves a team from building the same basics on every project.
Can my customers use the Django admin panel?
No. It is built for trusted staff and it shows your data the way the database stores it. Customers need screens designed for them, with only what they are allowed to see.
Is Django strong enough for a large site?
Yes. Very large services have run on it for years. What limits a busy site is almost always the database, the images and the design of the queries, not the framework itself.
Should I choose Django or a PHP framework?
Both build the same kind of system well. Pick the one your team can maintain and hire for. Django wins when data analysis or prediction is part of the plan, because that work is already in Python.
Does Django cost anything to use?
The framework is free and open, with no licence to buy. Your costs are the developers, the server it runs on, and the care it needs after launch.

Still not sure how this applies to your project?

Tell us what you are building and we will answer in plain language.