Jon Atkinson27/09/21

6 min read

Charity websites: Django vs Drupal - only one winner

It’s time for a new website, your existing one resides on an old version of Drupal and you’ve got a big decision to make: Do we upgrade or switch to something else?

There’s no simple answer to that but we can hopefully make that decision easier by outlining why we believe designing your charity's new website using Django is the smart option; and one of the best decisions you’ll ever make.

Particularly for bigger charities, Django offers unmatched levels of dynamism, scalability, ease-of-use, security and longevity.

We’ve explained previously why Django is a better bet for charities than WordPress, and here we look at how it outstrips another popular platform, Drupal.

Drupal is preparing for a major overhaul of its platform in late 2021 and this will have implications for all websites which use it - so this is the ideal time to consider a change.

Django v Drupal

person in front of a display that says opensource

Broadly speaking, the two platforms have more in common than some of the more basic website builders such as WordPress or Wix.

While the latter two can be a perfectly reasonable option for smaller charities, they’re unlikely to be able to deal with more complex functionality required by bigger third-sector organisations.

Both Django and Drupal can be considered open source web frameworks but Drupal combines elements of its framework with a content management system - some even describe it simply as a CMS - while Django separates them which means you add your preferred CMS to its framework.

Why does this matter? On day one, when your developers deliver you your new website the difference is minimal but it becomes noticeable further down the line when you want to make significant changes.

You see, websites are somewhat temporary. At some point in the future you’ll want a ‘new’ one. You might simply want to refresh the look of it or you might want to take advantage of new technology. The average lifespan of a website is 2 years and 7 months.

And this is one of the major positives of the Django framework. Because the CMS is added to it, it means that presenting a new website to your users is a much easier task. 

There is no requirement to rewrite the core code, or foundations, to develop what is - at least as users see it - a new site.

Because Drupal combines the core and the CMS, when you want a new site you’ll be starting from scratch. For you, that means higher costs and a longer wait.

If the belief is that you won’t be looking to make major changes in the future then Drupal can be considered a perfectly good option but there are still factors to bear in mind.

Django is much easier to use out of the box

car on a long road

Picture your website as a car. Fundamentally, you want two things: a satisfying experience when using it and the peace of mind that it’s not going to break down.

You don’t want to go through a lengthy consultation or have to thumb through a 100-page manual just to be able to enjoy your first drive. 

Out of the box, Django comfortably trumps Drupal. For starters, the admin user interface is far easier to get your head around. 

As the website owner, you can get started straight away thanks to the intuitive Django set-up; realistically with Drupal you’re going to need a fair bit of hand-holding initially.

django vs drupal CMS admin dashboard

Drupal CMS dashboard vs Django's

If you’ve conducted any of your own research on Django, you will probably have come across the phrase ‘batteries included’.

It means that it comes with the essential features needed for web development - reducing the need for developers to write their own code from scratch. 

The likelihood is that you won’t be developing your shiny new site so this might not mean much to you, but this approach guarantees that the core back-end of your site has been rigorously tested, has high levels of security and is as robust as it comes.

It gives you peace of mind that, under the bonnet, you’ve got arguably the best out there.

A Drupal website build requires modules - similar to WordPress plug-ins - and while they mostly work just fine, this increases the chances of things going awry. Why add in the opportunity for human error?

screen view of drupal vs django CMS page editor

Django doesn't rely on plug-ins

As a driver you don’t want to be given a shell and an engine only to be told that a gearbox, wheels, seats and more need to be added separately.

Security comes as standard

Those Drupal modules which need adding can come at a price beyond just the time and cost it takes to get them up and running.

Just as with WordPress plug-ins, Drupal modules can conflict, particularly if you don’t stay on top of their updates. This can potentially result in worrying security issues.

hand pointing to a screen that says cyber security


On top of that, Drupal advocates have warned about the risks of not updating your website from Drupal 7 to 8 and then to 9 before the newest release is launched. Failure to do so will compromise your website’s security and you’ll be left to your own devices.

Historically, some of Drupal’s modules have also suffered from a lack of due care and attention. They’re just not always loved as much as they should be.

Websites using too many Drupal modules have been known to suffer speed issues while many of the better ones have to be paid for.

a row of people holding their hands up in heart shapes

Developers in the Django community tend to take immense pride and great care in their work, with libraries referred to as ‘good citizens’. This means that Django’s libraries come with strong documentation and with a desire to make upgrades as simple and painless as possible.

While the same can be said for the conscientious developers in the Drupal community, this isn’t always the case and some modules can be left without needed updates and the instructions to go with them.

It’s safe to say that with Django you can be rest assured you’re getting jobs well done. They’re the mechanics you return to time and again because you trust them.

Easy to master, easy to make magical

Technology all around us is advancing at an eye-watering rate - we can only guess what’s around the corner as artificial intelligence, virtual and augmented reality and robotics expands boundaries.

scientist making a robot

New opportunities will open up to charities, service-users will be engaged with in multiple ways and donors will be given never-seen-before access to the projects they’re supporting.

In web development, we can only guess what might come with the next few Drupal updates, but Django’s framework means it is geared up to take advantage of new technology right now.

Historically, Drupal has required significantly more manual intervention to carry out updates - big and small - than Django. Code needs rewriting and in some cases complete overhauls.

That means more developer time which means more budget to find.

Because you’re using solid, cared-for building blocks to add to Django’s unrivalled core foundation, development time is reduced and those technological advancements are easier to take advantage of.

If you’re the type and size of charity that wants to make its website the beating heart of its future operations then look no further than Django.

Summary

There are numerous website-builders on the market, and as digitisation continues to increase at breakneck speed, the importance of making the right platform choices becomes paramount.

We live in a world full of people with certain expectations of their digital engagements, and work alongside teams of people who want to fulfil those quickly and simply.

Django ticks all of the boxes. Why take a gamble on anything else?

About the author

Jon Atkinson

CTO at Giant Digital

LinkedIn

Jon heads up the development team as Technical Director and founding partner at Giant Digital. With over 20 years as a Python developer, he has the perfect balance of hands-on experience and strategic expertise when it comes to developing innovative and technically sound solutions for charities. He fully understands the importance of user-driven design to create engaging and effective platforms that deliver real impact.

Discuss your next project with us