Some tools have high percentages in the new Django survey, so it is easy to assume that you must learn them immediately. Do not rush: the survey describes its participants’ answers. It does not prescribe a mandatory curriculum for beginners.
Django is a web framework for Python: a collection of ready-made components for the server side of a web application. When a browser sends a request, Django can connect the address to Python code, validate a form, read data, and return HTML or another response. Developers do not have to build every common web mechanism from scratch.
The Django Developers Survey 2026 results were published on August 28, four days before this article. The Django Software Foundation and PyCharm conducted the fifth annual survey from May to July and gathered responses from approximately 3,500 Django users and enthusiasts worldwide. Below, we will turn its signals into a plan for a local “My Library” application rather than a ranking of mandatory technologies.
What the Survey Actually Establishes
A respondent is someone who answered the questions. A sample is the group of respondents whose answers are analyzed. The report describes this sample. The published material does not establish that it represents every Django developer or the requirements of Ukrainian employers.
In the testing question, 45% selected pytest, 43% selected unittest, 34% selected pytest-django, and 19% said they did not write automated tests. These percentages add up to more than 100%, so the options cannot be treated as mutually exclusive choices. The figures signal common practices, but they do not determine which tool your project needs.
htmx is a browser-side library that lets HTML elements send requests and replace part of a page with the response. In the JavaScript-framework question, 34% selected htmx, compared with 5% in 2021.
Asynchronous processing, or async, allows a server to do other work while it is waiting for a slow operation, such as a response from an external service. Django’s async features were used by 33% of respondents, while 40% said they planned to use them. An intention is not actual use, and neither percentage proves that a simple book list needs async.
The full report is the primary source for the figures. The JetBrains article listed below is a partner’s interpretation of the trends, not a separate independent sample.
A Three-Level Learning Plan
The example has one goal: a local “My Library” application where users sign in, add books, and see only their own records. Every skill below should either move the project toward that result or verify it.
1. Foundation: Complete the First Application
Start by understanding the URL → view → template request path. A URL identifies an address, a view handles the request, and a template produces HTML. Then add a Book model. A model describes the data structure, while a migration transfers a change in that structure to the database.
Next, add a form that validates input and Django’s built-in authentication. Set a book’s owner on the server and filter the list by the current user. The completion criterion is direct: a visitor cannot view a private library, a signed-in user can add a book, and that user cannot see someone else’s records.
Preserve these requirements with automated tests: code that repeats an action and compares the result with the expected outcome. Check at least visitor access, data isolation between two users, and rejection of an empty title.
2. Team Practice: Make the Result Reproducible
After the feature works, learn to recreate the environment, run the full test suite, and explain a change to another person. A particular environment manager, formatter, or continuous integration system is a means, not the learning goal.
Deployment means moving an application to an environment where people can use it outside your computer. Do not publish the learning project merely to satisfy a roadmap item. First write a short record explaining where settings and secrets would be kept, how tests would run, where errors would be logged, and how you would return to the previous version.
3. When Needed: htmx and Async
Test htmx only against a visible problem. For example, changing a book’s “read” status could update one row without reloading the page. Keep the ordinary form as the baseline path. Retain the library only if the partial update works, the access-control check passes, and the non-JavaScript path remains intact.
Postpone async for now. A local book list has no obvious long wait for an external network response. Revisit it if you add a feature such as searching an external book catalog. First identify the waiting operation and the measurement you will use to evaluate the experiment.
How to Use an AI Agent Safely
An AI agent can do more than answer questions: it may edit files or run commands. Delegate changes only after you can explain the expected behavior, success criterion, and rollback procedure in your own words.
Begin with read-only evidence analysis. Give the agent links to the full report, public descriptions of a few relevant jobs, and an anonymized list of your skills. Permit it to find exact questions, percentages, and requirements. Prohibit account access, résumés containing contact details, and claims that transfer global survey percentages to the Ukrainian market.
Stop if a number cannot be found in the primary report or a job does not match the selected role. The expected artifact is a list with “signal, source, what it establishes, what it does not establish.” Open every link and verify each entry manually.
Then run one local experiment. For the htmx example, provide only the relevant files from a test repository, fictional book data, known environment versions, and the access criteria. Permit the agent to create a diff, tests, and local commands. Prohibit access to secrets, a production database, production systems, external deployment, destructive migrations, and changes outside the repository.
Stop for a network-access request, an unexplained dependency, unrelated changes, or failing baseline tests. The artifact is a diff, command log, and pass/fail report. Review the diff yourself, rerun the tests in a clean local environment, check the behavior with two users, and revert the experiment. A confident agent response is not evidence.
Decision Checklist
Before adding any technology, answer four questions:
- What specific problem does it solve?
- Does my project have that problem now?
- What is the smallest safe experiment that could demonstrate value?
- What reproducible evidence would justify adding it to the stack?
Short Glossary
- Automated test — code that checks an application’s expected behavior.
- Migration — a Django-described change to the database structure.
- htmx — a library for sending requests and partially updating HTML from the page.
- Async — a way to avoid blocking other work while certain operations are waiting.
- Deployment — preparing and running an application outside the developer’s local environment.
The survey is useful as a source of questions, not commands. Learn the Django foundation now, protect user data, and verify behavior with tests. htmx can be a small experiment for a specific interface need, while async should wait until the project has a relevant waiting operation. That keeps the learning plan tied to an outcome rather than the most prominent percentage.