Django Architecture: Models, Views and Templates

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. At its core, Django follows the MVT architecture: Model, View, and Template — which is similar in principle to the traditional MVC (Model-View-Controller) pattern. Side note, you can build your Django application using your desired architecture. Django doesn’t necessarily specify any particular form of architectural layering. This article is an extension of the previous post: https://me.chrisdevcode.com/posts/django-project-structure/ ...

July 1, 2025 · 3 min · Chris Achinga

Django Project Structure

Before we proceed, it’s important to understand how a typical Django project is structured. Django’s project structure is thoughtfully designed to make your code clean and maintainable. Whether building a simple blog or a complex web application, understanding this structure is critical for managing your project efficiently as it grows. Below, we’ll explore the key components of a typical Django project and how they work together. Assumptions This post will assume that you have your development already configured for Django/Python development. ...

June 30, 2025 · 3 min · Chris Achinga

Formatting Posts on a Hugo Site

this is my go to documentation for editing posts on this hugo site. it still uses markdown, but with some touch of style here and there. Article frontmatter: Use front matter to add metadata to your content. https://gohugo.io/content-management/front-matter/ --- author: ["Hugo Authors", "PaperMod Contributors", "Aditya Telange"] title: "Comprehensive Frontmatter Example" date: "2019-03-11" description: "A comprehensive guide showcasing Markdown, shortcodes, syntax, and formatting for HTML elements." summary: "Sample article demonstrating various frontmatter fields and their usage." tags: ["markdown", "shortcodes", "privacy", "syntax", "code", "gist", "css", "html", "themes", "emoji"] categories: ["themes", "syntax"] series: ["Themes Guide"] FAtags: ["markdown", "css", "html", "themes"] FAcategories: ["themes", "syntax"] FAseries: ["Themes Guide"] aliases: ["migrate-from-jekyl"] cover: image: images/msg.png caption: "Generated using [OG Image Playground by Vercel](https://og-playground.vercel.app/)" social: fediverse_creator: "@[email protected]" math: true weight: 2 ShowToc: true TocOpen: true ShowBreadCrumbs: false --- Inline Code This is Inline Code Only pre This is pre text Code block with backticks <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with backticks and language specified <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with backticks and language specified with line numbers 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> Code block with line numbers and highlighted lines PaperMod supports linenos=true or linenos=table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Example HTML5 Document</title> <meta name="description" content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." /> </head> <body> <p>Test</p> </body> </html> With linenos=inline line might not get highlighted properly. This issue is fixed with 045c084 1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>Example HTML5 Document</title> 6 <meta 7 name="description" 8 content="Sample article showcasing basic Markdown syntax and formatting for HTML elements." 9 /> 10 </head> 11 <body> 12 <p>Test</p> 13 </body> 14</html> Code block indented with four spaces <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Code block with Hugo’s internal highlight shortcode <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Example HTML5 Document</title> </head> <body> <p>Test</p> </body> </html> Github Gist https://gohugo.io/shortcodes/gist/ To display a specific file within the gist: Emoji Emoji can be enabled in a Hugo project in a number of ways. ...

May 21, 2025 · 6 min · Chris Achinga

Moving to My Own Site

i put a pause on writing technical articles. mainly because the platforms i love have become a hustle to use and they don’t make it easier for people not registered on those platforms to read content. i’m trying out some static site generators, would love to have content publicly accessible without any unnecessary stuff i put a pause on writing technical articles. mainly because the platforms i love have become a hustle to use and they don't make it easier for people not registered on those platforms to read content. i'm trying out some static site generators, would love to have content… — c a (@achinga_chris) May 18, 2025 ...

May 19, 2025 · 1 min · Chris Achinga

Become a Good Attendee and Listener at Developer Meetups and Tech Conferences

There’s no shortage of advice on how to deliver amazing talks or workshops at tech conferences, not to mention tips for preparing killer proposals and navigating the call for speakers. But what about attendees? Sure, there are guides on becoming a good listener or an engaged participant, but this piece is different. This is about my experience and what makes a great attendee and listener. Organizers & Speaker’s Sweat: A Behind-the-Scenes Look Before we dive into how to be a top-tier attendee, let’s take a moment to appreciate the efforts it takes to organize a tech event or deliver a talk. ...

December 12, 2024 · 5 min · Chris Achinga

DjangoCon Africa 2023, Almost a Year Later …

The Announcement I only saw Django Conferences happening in European and American countries. From the content and updates shared on X and by speakers/attendees, I realized that these events had serious content to share. I envied that. This right here, the X(tweet 😂) on May 10th. Hello World 👋🏼 We are more than excited to announce the first-ever DjangoCon event in Africa. It will take place this year in Zanzibar, Tanzania, from 6th - 11th November 2023! Please visit https://t.co/qC69TfKnPt to learn more! 1/3 🧵#djangoconAfrica #djcafrica #djangocon pic.twitter.com/gypAJD07hX ...

July 10, 2024 · 4 min · Chris Achinga

Before starting React, I think you should ...

React is a front-end JavaScript library. So you probably want to know the basics of JavaScript before diving into react, otherwise you will end up having a rough journey which isn’t good for your productivity. I wouldn’t advice you to fully rely on my article, I had a quite rough journey and after I finally understood React, I better document it for a future me. In this article, I’ll highlight the essentials and most important things to learn and provide a link to the resources as we gear up to creating your first React application. ...

June 9, 2024 · 2 min · Chris Achinga

Deploying A React app on GitHub Pages

GitHub offers more than just a host for your code. In this short tutorial, I will walk you through deploying a static react app/project on GitHub Pages. I will be using one of my React projects from GitHub: %[https://github.com/achingachris/myRepos] A programmer’s learning tool is by practicing –I said that… Let’s Get Started: This tutorial assumes you already have your react project setup and ready to deploy Step 1: Install the Dependencies (gh-pages): I use npm for my projects, so while in your project root directory, open the project on your terminal or cmd (windows). ...

June 9, 2024 · 1 min · Chris Achinga

Git and GitHub SSH Configuration

Installing git Install git from here Choose a selection based on your operating system. For Linux and Ubuntu OS, you may use this alternative: Open your terminal and paste the command below: sudo apt-get install git Ensure you have a GitHub account. If not, create one here Join GitHub. First of all, we’ll configure your details to git. “Assuming your GitHub username is DevAcc, and the email used on GitHub is [email protected]” On your terminal, use the following commands: ...

June 9, 2024 · 2 min · Chris Achinga

GitHub Students Developer Pack

Access the best real-world tools, learning events, and training to shape the next generation of software development, using student benefits from GitHub Education GitHub Education helps students, teachers, and schools access the tools and events they need to shape the next generation of software development. %[https://education.github.com/] Well as a student whose goal/dreams or maybe ambitions are to prosper in the developer zone, GitHub Education offers the bridge to your success using the GitHub Student Developer Pack. Really cool tools available for free of course. ...

June 9, 2024 · 6 min · Chris Achinga