<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/django/best-of/2023" -->

---
title: Best Django posts of 2023 | daily.dev
description: The most upvoted Django posts of 2023, curated by the daily.dev community.
canonical: https://daily.dev/tags/django/best-of/2023
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/django/best-of/2023
og:type: website
og:site_name: daily.dev
og:title: Best Django posts of 2023 | daily.dev
og:description: The most upvoted Django posts of 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Django — 2023

1. 1  
[](/posts/if-you-re-learning-back-end-don-t-start-with-frameworks-y3tdc51kd "If You're Learning Back-end, Don't Start with Frameworks")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 4y  
If You're Learning Back-end, Don't Start with Frameworks  
When you're just starting, those boring details are exactly the things you should be practicing. Frameworks automate the boring stuff Frameworks are great at automating all that boring stuff, like boilerplate code, authentication, and database migrations. When you use a framework, you're missing out on all that good stuff.  
102  
12
2. 2  
[](/posts/backend-development-is-more-than-writing-endpoints-for-frontend-drevluaxi "Backend development is more than writing endpoints for frontend")  
Article  
![Avatar of til](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/739e560f0f81492eb54055003476c505)This is Learning · 3y  
Backend development is more than writing endpoints for frontend  
Backend development is a crucial part of web development that involves creating and maintaining the logic, functionality and data of a website or an application. Backend developers are responsible for writing backend code that communicates with the frontend, the server and the database. They also ensure that the backend code is secure, scalable, reliable and efficient.  
86  
4
3. 3  
[](/posts/the-django-node-js-alternative-denhvms3s "The Django Node.js Alternative")  
Article  
![Avatar of amplication](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/81a4f43fc0b84e55b9f61cbae4ec745a)Amplication · 4y  
The Django Node.js Alternative  
NestJS is a strong alternative to Django with a different set of features that make it very attractive to web developers. NestJS runs over Node.js, the canonical runtime environment for server-side apps written in JavaScript. NestJS offers a powerful set of decorators that can be used to define controllers, services, and other elements.  
58  
6
4. 4  
[](/posts/best-tools-for-python-developers-in-2023-9rfjlvrhn "Best Tools for Python Developers in 2023")  
Article  
![Avatar of inPlainEngHQ](https://media.daily.dev/image/upload/s--Dg5QTRuI--/f_auto,q_auto/v1686665538/logos/pe)Python in Plain English · 3y  
Best Tools for Python Developers in 2023  
Best Tools for Python Developers in 2023: Helios, PyCharm, Django, Poetry and more. Helios is a developer platform that provides actionable insight into your Python application flow. Python has become one of the most popular programming languages over the past few years.  
39  
2
5. 5  
[](/posts/test-driven-development-tdd-in-software-development-applying-tdd-methodology-in-django-ncop781rx "Test-Driven Development (TDD) in Software Development: Applying TDD Methodology in Django")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 3y  
Test-Driven Development (TDD) in Software Development: Applying TDD Methodology in Django  
Test-Driven Development (TDD) is a programming practice that instructs developers to write new code only if an automated test has failed. TDD enhances code quality, simplifies bug detection, and promotes code reuse. In Django, TDD can be implemented by writing unit tests before writing code.  
29
6. 6  
[](/posts/python-crud-rest-api-using-django-postgres-docker-and-docker-compose-itou6rpgg "Python CRUD Rest API, using: Django, Postgres, Docker and Docker Compose")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 4y  
Python CRUD Rest API, using: Django, Postgres, Docker and Docker Compose  
Learn how to create a CRUD Rest API in Python using Django and Docker. The post covers the step-by-step process of setting up the project, including creating a Django project, Dockerizing the application, and testing the endpoints.  
26
7. 7  
[](/posts/learn-django-by-building-a-marketplace-uob7haiqj "Learn Django by Building a Marketplace")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Learn Django by Building a Marketplace  
Learn Django by Building a Marketplace Django is a powerful and popular web framework for Python. You'll learn how to implement key features like authentication, communication between users, and a dashboard for managing items. The course is divided into several sections, each focusing on a specific aspect of Django and the project.  
25
8. 8  
[](/posts/django-and-clean-architecture-the-real-battle-meo6j-1df "Django and Clean Architecture — The Real battle")  
Article  
![Avatar of towardsdev](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/2c710db2750a4a70835862534cb7c9d4)Towards Dev · 4y  
Django and Clean Architecture — The Real battle  
Clean Architecture was created by Robert C. Martin as a software design philosophy. The Gods of Clean Architecture can haunt you at night if you do that. It is useful to be familiarized with Clean Architecture and Django. We will discuss how to integrate them, but not in deep in this topics.  
25
9. 9  
[](/posts/5-hidden-gems-of-django-every-developer-should-know-m9jc3gyyr "5 Hidden Gems of Django Every Developer Should Know")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 4y  
5 Hidden Gems of Django Every Developer Should Know  
Discover hidden gems in Django that can improve your code, optimize database queries, customize the admin site, and simplify your development process.  
22  
1
10. 10  
[](/posts/deploying-a-django-application-with-docker-nginx-and-certbot-efhyy9jyt "Deploying a Django Application with Docker, Nginx, and Certbot")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 3y  
Deploying a Django Application with Docker, Nginx, and Certbot  
Learn how to deploy a Django application with Docker, Nginx, and Certbot to ensure robust security and internet availability. The process involves containerizing the Django app, using Nginx as a reverse proxy, and obtaining SSL certificates with Certbot.  
19
11. 11  
[](/posts/essential-python-packages-every-django-developer-should-know-g4nl8qzv3 "Essential Python Packages Every Django Developer Should Know")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Essential Python Packages Every Django Developer Should Know  
A curated list of essential Python packages for Django developers, including Django Debug Toolbar, Django Allauth, Haystack, Celery, Wagtail CMS, Django Storages, Django Rest Swagger, and more.  
18
12. 12  
[](/posts/dependency-injection-in-python-4anmi6ieq "Dependency injection in Python")  
Article  
![Avatar of snyk](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8fb2a7b471c04bac9af29fbeb3ed1cf6)Snyk · 3y  
Dependency injection in Python  
Learn about the concept of dependency injection in Python, its benefits for code maintainability, modularity, and testability, and its limitations. Explore how dependency injection can be implemented in popular Python frameworks such as Flask, Django, and FastAPI. Also, discover the different Python dependency injection frameworks available and how they can contribute to your project. Finally, learn about the importance of keeping project dependencies secure with Snyk and how it integrates with Python development workflows.  
17
13. 13  
[](/posts/docker-compose-configuration-for-a-django-and-react-application-with-an-nginx-reverse-proxy-and-let--lbq9dofrb "Docker Compose Configuration for a Django and React Application with an Nginx Reverse Proxy and Let’s Encrypt SSL Certificate")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 3y  
Docker Compose Configuration for a Django and React Application with an Nginx Reverse Proxy and Let’s Encrypt SSL Certificate  
This article provides a tutorial on how to pack a Django and React application into containers using Docker Compose. It covers the creation of Dockerfiles for Django and Nginx, as well as the configuration of Nginx as a reverse-proxy for the Django server. The article also includes instructions for adding Let's Encrypt SSL certificates to secure the application. The tutorial is aimed at readers who are looking to deploy their Django and React applications using Docker.  
17
14. 14  
[](/posts/introducing-realworld--5mmxmokwl "Introducing RealWorld 🙌")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Introducing RealWorld 🙌  
RealWorld is a fullstack blog app that can be powered by React, Angular, Node, Django, and Rails. Conduit, a social blogging site similar to Medium.com, has been implemented in these frameworks.  
17  
1
15. 15  
[](/posts/how-to-send-email-using-django-rest-framework--un5yjqxwz "How to Send Email using Django REST framework.")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 4y  
How to Send Email using Django REST framework.  
Simple Mail Transfer Protocol (SMTP) is a widely used method for delivering emails to users in a variety of professions. Using functions and expressions, open-source frameworks like Django give users more freedom when sending emails. This article demonstrates how to set up an SMTP server and send emails using Django.  
17
16. 16  
[](/posts/intro-to-devops-ii-our-first-containerized-app-django-docker--ygxjhg8np "Intro To DevOps II: Our first containerized App (Django & Docker)")  
Article  
![Avatar of awsplainenglish](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/64d9989ff4ae4caba811832fdd6146c5)AWS in Plain English · 3y  
Intro To DevOps II: Our first containerized App (Django & Docker)  
This article provides a tutorial on creating a Django project, containerizing it with Docker, and publishing the containerized app on Amazon ECR.  
16
17. 17  
[](/posts/building-microservices-with-python-leveraging-django-rabbitmq-and-pika-sg2qoaesm "Building Microservices with Python: Leveraging Django, RabbitMQ, and Pika")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 3y  
Building Microservices with Python: Leveraging Django, RabbitMQ, and Pika  
This article discusses the concept of microservices and how to build a microservice with Python Django and Flask. It also introduces RabbitMQ as a message broker for communication between microservices.  
15
18. 18  
[](/posts/why-i-completely-removed-react-from-my-django-project-1ufbvauhm "Why I completely removed React from my Django project")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Why I completely removed React from my Django project  
The author removed React from their Django project due to scalability concerns, issues with reusability, and the desire to use what was best for the project. The author also experienced difficulties in making Django and React work together. They explored the option of using the Django Rest Framework but decided against it as it would remove the advantages of using Django. The author encountered challenges with the bundling process when using React with Django and ultimately made the decision to remove React.  
14  
1
19. 19  
[](/posts/build-a-blog-from-scratch-with-django-real-python-wavxabcee "Build a Blog From Scratch With Django – Real Python")  
Article  
![Avatar of rpython](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/rpython)Real Python · 3y  
Build a Blog From Scratch With Django – Real Python  
Learn how to build a blog from scratch with Django. Set up a Django project, create and edit blog posts, display posts to the user, assign categories to posts, and allow users to comment on posts.  
14
20. 20  
[](/posts/restful-api-specification-with-fastapi-and-djantic--xoi3pnehw "RESTful API Specification with FastAPI and Djantic.")  
Article  
![Avatar of awstip](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/aea5725665d4494d8470f6c11612e774)AWS Tip · 3y  
RESTful API Specification with FastAPI and Djantic.  
RESTful API Specification with FastAPI and Djantic. FastApi is a high-performance web framework for building API with Python 3.7+ based on standard type hints. Djantic is a library that provides a configurable utility class to automatically create a Pydantic model instance for any Django model class.  
13
21. 21  
[](/posts/how-to-create-a-simple-calculator-app-in-django-ipicbsycj "How to Create a Simple Calculator App in Django")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
How to Create a Simple Calculator App in Django  
Django is a free and open-source Python web framework that helps you quickly develop secure and maintainable web applications. In this tutorial, I will guide you step by step as we create a calculator app using django. This is a beginner-friendly tutorial, so if you are new to Django, you can follow along.  
13
22. 22  
[](/posts/testing-in-django-srboxqe61 "Testing in Django")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Testing in Django  
The primary goal of testing is to uncover defects or discrepancies between the expected and actual results of a software system. Testing also helps identify performance bottlenecks, security vulnerabilities, and compatibility issues. Automated testing is preferred in modern software development due to its efficiency, repeatability, and scalability.  
12
23. 23  
[](/posts/building-an-intelligent-education-platform-with-openai-chatgpt-and-django-6rryta0ha "Building an Intelligent Education Platform with OpenAI, ChatGPT, and Django")  
Article  
![Avatar of testdriven](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/24e3f6d975684866ac5de786f0ce08dc)TestDriven.io · 4y  
Building an Intelligent Education Platform with OpenAI, ChatGPT, and Django  
Learn how AI can empower us to create intelligent education platforms by leveraging advancements in AI technology such as GPT-3 and ChatGPT. This tutorial guides you through training an AI model on a blog post, developing an API for answering user questions, and creating a user interface for interaction.  
12
24. 24  
[](/posts/how-to-set-up-a-django-development-environment-pwxjwg1ri "How to Set Up a Django Development Environment")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
How to Set Up a Django Development Environment  
Learn how to set up a Django development environment by creating a Python virtual environment and installing Django. Django is a high-level web framework written in Python that provides a solid foundation for web application development.  
10
25. 25  
[](/posts/django-5-0-released-o76cy8bro "Django 5.0 released")  
Article  
![Avatar of django](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a658d547a52423e99fe641ecc576195)Django · 3y  
Django 5.0 released  
The Django team has released Django 5.0, which includes exciting new features such as database-computed default values and the ability to create database-generated columns. Users are encouraged to upgrade to receive security fixes and support.  
10

[See all Django archives](/tags/django/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/django/best-of/2023#page","url":"https://daily.dev/tags/django/best-of/2023","name":"Best Django Posts of 2023","description":"The most upvoted Django posts of 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/django/best-of/2023#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/if-you-re-learning-back-end-don-t-start-with-frameworks-y3tdc51kd","name":"If You're Learning Back-end, Don't Start with Frameworks"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/backend-development-is-more-than-writing-endpoints-for-frontend-drevluaxi","name":"Backend development is more than writing endpoints for frontend"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/the-django-node-js-alternative-denhvms3s","name":"The Django Node.js Alternative"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/best-tools-for-python-developers-in-2023-9rfjlvrhn","name":"Best Tools for Python Developers in 2023"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/test-driven-development-tdd-in-software-development-applying-tdd-methodology-in-django-ncop781rx","name":"Test-Driven Development (TDD) in Software Development: Applying TDD Methodology in Django"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/python-crud-rest-api-using-django-postgres-docker-and-docker-compose-itou6rpgg","name":"Python CRUD Rest API, using: Django, Postgres, Docker and Docker Compose"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/learn-django-by-building-a-marketplace-uob7haiqj","name":"Learn Django by Building a Marketplace"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/django-and-clean-architecture-the-real-battle-meo6j-1df","name":"Django and Clean Architecture — The Real battle"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/5-hidden-gems-of-django-every-developer-should-know-m9jc3gyyr","name":"5 Hidden Gems of Django Every Developer Should Know"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/deploying-a-django-application-with-docker-nginx-and-certbot-efhyy9jyt","name":"Deploying a Django Application with Docker, Nginx, and Certbot"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/essential-python-packages-every-django-developer-should-know-g4nl8qzv3","name":"Essential Python Packages Every Django Developer Should Know"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/dependency-injection-in-python-4anmi6ieq","name":"Dependency injection in Python"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/docker-compose-configuration-for-a-django-and-react-application-with-an-nginx-reverse-proxy-and-let--lbq9dofrb","name":"Docker Compose Configuration for a Django and React Application with an Nginx Reverse Proxy and Let’s Encrypt SSL Certificate"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/introducing-realworld--5mmxmokwl","name":"Introducing RealWorld 🙌"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/how-to-send-email-using-django-rest-framework--un5yjqxwz","name":"How to Send Email using Django REST framework."},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/intro-to-devops-ii-our-first-containerized-app-django-docker--ygxjhg8np","name":"Intro To DevOps II: Our first containerized App (Django & Docker)"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/building-microservices-with-python-leveraging-django-rabbitmq-and-pika-sg2qoaesm","name":"Building Microservices with Python: Leveraging Django, RabbitMQ, and Pika"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/why-i-completely-removed-react-from-my-django-project-1ufbvauhm","name":"Why I completely removed React from my Django project"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/build-a-blog-from-scratch-with-django-real-python-wavxabcee","name":"Build a Blog From Scratch With Django – Real Python"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/restful-api-specification-with-fastapi-and-djantic--xoi3pnehw","name":"RESTful API Specification with FastAPI and Djantic."},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/how-to-create-a-simple-calculator-app-in-django-ipicbsycj","name":"How to Create a Simple Calculator App in Django"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/testing-in-django-srboxqe61","name":"Testing in Django"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/building-an-intelligent-education-platform-with-openai-chatgpt-and-django-6rryta0ha","name":"Building an Intelligent Education Platform with OpenAI, ChatGPT, and Django"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/how-to-set-up-a-django-development-environment-pwxjwg1ri","name":"How to Set Up a Django Development Environment"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/django-5-0-released-o76cy8bro","name":"Django 5.0 released"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Django","item":"https://daily.dev/tags/django"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/django/best-of"},{"@type":"ListItem","position":5,"name":"2023"}]}]}
```

