Your first Django project

What do Spotify, Youtube, Dropbox, Instagram, Pinterest and Bitbucket all have in common? They are all built using Django!

Django is an open-source python framework which provides tools to easily build web applications. If you’re looking for a way to quickly and easily build a website which is secure and scalable, Django is the answer.

It allows you to focus on rapid development of new components for your application, instead of wasting time building already developed components. Another benefit of using Django is the great documentation and the fact it has over 3,000 packages available.

Recently, I attended a DjangoGirls workshop and built a website using Django. As a self-taught HTML and CSS dev, it was the perfect opportunity to build on my existing knowledge while learning a new language and framework.

While online courses can be useful, workshops tend to be highly motivating environments and there’s a stronger sense of achievement when you can share your accomplishments with peers.

If you are interested in learning how to build a website using Django, or you just want to try something new – this is for you.

What is DjangoGirls?

Django Girls is a non-profit organisation and a community that helps organise free, one-day programming workshops by providing tools, resources and support.

They have created some amazing resources to help build your first web application using HTML, CSS, Python and Django. Available online or at a local workshop near you!

Who can apply?

Don’t let the name scare you off, DjangoGirls is open to any gender, including men. However, each event only has 60 spots, so they give preference to underrepresented groups including women, trans and other gender minorities. But don’t let that stop you from applying as everyone is encouraged to join.

How to apply?

You can either apply to be a participant or mentor and applications open a few weeks before the event date. Alternatively, you can use the resources and follow along at home.

Beginner Resources

For total newbies:

DjangoGirls does an amazing job of removing any assumptions about your experience and knowledge with coding. If you have never written a line of code, it’s suggested you start at “How the Internet Works” before proceeding onwards.

For python newbies:

For Django newbies:

Getting Started

If you finish everything and would like to give back to the community, consider contributing to the opensource collection of translations.

Key Learnings

  • The DjangoGirls tutorial is a great way to get stuck in and just build something.
  • In hindsight, I wish I researched the broader context of Django and the relationship between ‘Model View Controller’ and ‘Model View Template’ architecture (CodeMentor have a great explanation here).
  • Existing HTML and CSS knowledge was helpful, but I would have been a lot more efficient if I had spent some time brushing up on the fundamentals of Python first (check out W3 Schools guide on python here).
  • Indentation, indentation, indentation! It’s critical to getting python right – so pay attention.
  • Django is great for building websites connected to databases and for managing users, but it’s probably a bit excessive for small websites.
  • You can’t manage multiple requests at the same time, so you need to get creative in some situations.

Final Thoughts

It was incredibly satisfying to ship a website in just one day and Django really is a great framework for rapid development. However, you definitely need to use a combination of the DjangoGirls tutorial and other resources for a deeper understanding of how everything works together. The next challenge? Spend some time on the front-end and spruce up the look and feel of my website.

Continue reading...