Nathan Brown

Web Developer | Programmer

Django Portfolio

My personal portfolio website has seen several iterations over the past few years. From a single-page static website to a WordPress-based site with a custom theme that I coded, and back to a static website. All these versions served a purpose, but none of them truly helped me accomplish what I really wanted, a portfolio website that I could easily update with new projects and skills as I added them to my repertoire.

That changed when I started learning Django in early 2021. I took a course by Brad Traversy and discovered what Django had to offer. After completing the course project of creating a website for a fictional real estate company, I set my sights on rebuilding my portfolio using the Django framework.

The results were a dynamic portfolio website, complete with a custom admin area that now allows me to update my portfolio on the fly without having to rewrite the code each time I add something new. Instead, I can update or add to my list of skills, recommended resources, and project details such as description, screenshots, links to the code, and more, simply by logging into the admin area directly from the web.

The project features custom templates and utilizing Bootstrap for the home and the project pages that make up the front end, while the backend uses Python and a MySQL database to store and retrieve the data displayed within the templates.  

Django certainly has its quirks but given the right use case, it’s an excellent alternative option to something like WordPress or a PHP-backed website. For my purposes, it allowed me to achieve something that I hadn't been able to do previously with my site. It has been fun to learn and I look forward to using this framework on future projects as well.

Skills Featured

Portfolio website home page
Admin login screen
Admin home page
Main list view for the skills section
Admin area for adding/editing a project entry
Additional fields in the project entry area