Django
Flask
| Django | Flask | |
|---|---|---|
| 549 | 149 | |
| 86,197 | 70,938 | |
| 0.7% | 0.4% | |
| 9.9 | 7.9 | |
| 3 days ago | 24 days ago | |
| Python | Python | |
| BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Django
- Reflections on the Djangonaut Space Journey π¦
After some hard work (the process is detailed here), I successfully submitted my first PR. I learned a tremendous amount during the review process. I hope to use this feedback to significantly improve my code quality and structure in future PRs.
- A first look at Django's new background tasks
Has it been merged into the GitHub repo? I wasn't aware of that and I don't see it here: https://github.com/django/django/tree/main/django/tasks/back...
- Python Concurrency: A Guide to Threads, Processes, and Asyncio
import requests from concurrent.futures import ThreadPoolExecutor URLS = [ "https://www.python.org/", "https://www.djangoproject.com/", "https://flask.palletsprojects.com/", ] def fetch_url(url: str): print(f"Fetching {url}...") response = requests.get(url) print(f"Fetched {url} with status {response.status_code}") return len(response.content) with ThreadPoolExecutor(max_workers=5) as executor: # The map function runs `fetch_url` for each item in URLS results = executor.map(fetch_url, URLS) for url, length in zip(URLS, results): print(f"URL: {url}, Length: {length}")
- Your first django PR - from scratch to improved patch
If this is your first Django contribution, please add yourself to the AUTHORS file and submit a Contributor License Agreement.
- Choosing Tech Stack in 2025: A Practical Guide
Django remains relevant for content-heavy applications and admin interfaces. The batteries-included philosophy means you get authentication, admin panels, ORM, and form handling out of the box. For rapid prototyping or building MVPs where you need traditional CRUD operations, Django's productivity is hard to beat.
- Flask vs. Django: Which Framework Should You Choose For Your Project?
Django is a full-stack web framework that provides developers with all the necessary tools and functions they need to develop both the backend and a significant part of the frontend of a web application within a single framework.
- FyneDesk: A full desktop environment for Linux written in Go
Before git abused the terminology, a branch used to refer to a long-lived/persistent commit lineage, most often implemented as a commit-level flag/attribute,
OTOH, git branches are pointers to one single commit (with the git UI tentatively converting this information sometimes into "that commit, specifically" or sometimes as "all ancestors commits leading to that commit", with more or less success and consistency).
Where it matters (besides fostering good/consistent UX) is when you merge several (topological) branches together: git won't be able to tell if you just merged A into B or B into A. Although the content is identical at code-level, the semantic/intent of the merge is lost. Similarly, once the head has progressed so much ahead and your history is riddled with merges, you can't tell from the DAG where the individual features/PR/series start and end. This makes bisecting very hard: while hunting down a regression, you would rather avoid checking-out mid-series commits that might break the build, and instead stick to the series boundaries. You can't do that natively with git. That also makes maintaining concurrent versions unnecessarily difficult, and many projects are struggling with that: have you seen for instance DjangoΒΉ prefixing each and every commit with the (long-lived) branch name? That's what you get with git while most other VCSes (like Mercurial, my preference) got right from the start.
ΒΉ: https://github.com/django/django/commits/stable/6.0.x
- Django 6.0 alpha 1 released
That is, based on the current state of affairs [1] you may get more structure around tasks in the app (or django packages running tasks) which is probably a nice thing. That said, you will still need to have a backend implementation [2] and the easiest path there is a celery wrapper.
[1] https://github.com/django/django/blob/main/django/tasks/base...
- Configuring CSP: A Test For Django 6.0
The Bakery Demo project uses pip from Python for package management, and the Wagtail dot org website uses Poetry. The differences in connecting both were very subtle, with the bakery demo being the easier of the two. The overarching requirement was that you would have cloned the most recent version of Django from its GitHub repository. For the Bakery Demo, you would need a virtual environment and an installation of Django pointing to your local editable version via pip install -e /path/to/django. This virtual environment would contain your Django, editable version of Wagtail, and Bakery Demo website. For a poetry-based installation, modifying the project's pyproject.toml to point to a locally editable version of Django (or mounted volume of it, as in a potential case of containerization)
- The Factory Timezone
"settings.py" is your local configuration. The global default is still Chicago:
* https://github.com/django/django/blob/main/django/conf/globa...
Flask
- btk
# Add bookmarks with hierarchical tags btk add https://docs.python.org --tags programming/python/docs btk add https://flask.palletsprojects.com --tags programming/python/web # Export with folder structure btk export bookmarks.html html --hierarchical # Result: Nested folders in browser # π programming # π python # π docs # π Python Documentation # π web # π Flask Documentation
- Python Concurrency: A Guide to Threads, Processes, and Asyncio
import requests from concurrent.futures import ThreadPoolExecutor URLS = [ "https://www.python.org/", "https://www.djangoproject.com/", "https://flask.palletsprojects.com/", ] def fetch_url(url: str): print(f"Fetching {url}...") response = requests.get(url) print(f"Fetched {url} with status {response.status_code}") return len(response.content) with ThreadPoolExecutor(max_workers=5) as executor: # The map function runs `fetch_url` for each item in URLS results = executor.map(fetch_url, URLS) for url, length in zip(URLS, results): print(f"URL: {url}, Length: {length}")
- Implementing Data Compression in REST APIs with gzip and Brotli
Implementation: Use libraries or server configurations to enable gzip and Brotli. Examples include Flask, Gin, and Express setups.
- The Python Learning Journey: From Beginner Confusion to Advanced Mastery
Code Reading: Study repositories like Flask, Requests, or Rich on GitHub. Notice how they handle imports, error cases, and API design. Reading production code reveals patterns you won't find in tutorials.
- Understanding RESTful APIs
Python with Flask (https://flask.palletsprojects.com/)
- Building an AI-Powered Image Captioning App with React and Flask
Flask Documentation
- Building a Sentiment Analysis App with React, Flask, and Hugging Face Transformers
- How to Create Your First API with Python, Flask and Azure
In this beginner-friendly guide, we will create a simple API using Python and Flask a lightweight and easy-to-use web framework for Python that allows developers to create APIs and web applications quickly. This API will take a number as input and return some basic properties, such as whether it is even or odd, and its square. We will also deploy the API so that it can be accessed from anywhere.
- Creating an Application with Amazon RDS and MySQL in the Cloud
Flask Documentation. "Flask, Web Development." https://flask.palletsprojects.com/.
- CRUD With Flask And MySql #1 Introduction
Informasi lengkap mengenai Flask bisa Anda baca di dokumentasi resmi Flask: https://flask.palletsprojects.com/
What are some alternatives?
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
Masonite - The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Discord channel for questions: https://discord.gg/TwKeFahmPZ
Tornado - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
CherryPy - CherryPy is a pythonic, object-oriented HTTP framework. https://cherrypy.dev
django-unicorn - The magical reactive component framework for Django β¨