Django's GeneratedField by example with Paolo Melchiorre
Published October 23, 2025
This video features Paolo Melchiorre at DjangoCon Europe 2023 in Edinburgh, Scotland.
All about djangoproject.com
by Paolo Melchiorre
https://pretalx.com/djangocon-europe-2023/talk/DUU97P/
The djangoproject.com website is the showcase of the Django project and is the result of contributions from many people. In this talk we will update on its development and learn how to contribute.
The djangoproject.com website is the showcase of the Django project and developers and users have always looked for updates on the project, documentation and information from the Django Software Foundation.
As with its source code, the Django project site is also the result of contributions from many people who voluntarily help to keep it updated and improve it.
In this talk we will see all the latest updates, ongoing improvements and upcoming developments of the Django project site.
Participants will be able to learn more about the Django project site, learn more about how it is maintained and above all understand how to help improve it.
Paolo Melchiorre walks through the main parts of djangoproject.com, including the download page, documentation, full-text search, translations, issue tracker, development dashboard, community resources, blog, events, Django Software Foundation information, and fundraising. He explains how these sections supported his own journey from first downloading Django to contributing to the project, and highlights practical ways others can use and improve them. He also presents ongoing user-experience work by 20tab, identifying accessibility problems, disrupted navigation, and hard-to-find pages, and asks the community to provide feedback and contribute through GitHub.
Summarised automatically from the transcript.
Automatically transcribed, so expect mistakes in names and technical terms.
Speaker 1: Hello everyone and thanks for having me. I'm very, very happy to be here with you. It's my first time in Scotland in Edinburgh, so I'll try to tell you about all all about the Django project websites. But to be more precise, I want to tell you all I know about the Django project websites. This is the current aspect of the home page of the Django Project website. You may think that it's the same as in the past year, but I can assure you that a lot of people are helping to maintain and adding new features every time. Like the Dart mode of the same of the team that added by Sarah and with other accessibility improvements. I'm helping maintaining myself
Speaker 1: the website So I want to tell you about all I know about this website, but first I say something about myself too. So I'm Paolo Macchior, I'm the CTO of 20Tab, a plotonic software company based in Italy. and I'm a contributor of the project and DSF member. I'm Django Girls coach and also organizer. I'm one of the co-organizers of PyCon Italian. It just happened last week in Florence. And uh since last month I'm the organizer of a local Python group in Pescara, the city where I come from, in Italy. And I took this picture in DjangoCon, US , in San Diego. And when I was there I asked everyone to take picture of me during my talk and share
Speaker 1: as possible on Twitter or Mastodon. So I want to Ask you the same things and we'll see how many of these messages I reach and more or less than than them. Let's go. I reshare every everyone. And now finally I want to tell my personal knowledge journey of the Django project website The first section of the Django website that I ever visited is the download section. I took this picture long time ago, was 2007 in Naples. I was at the Plon Conference At the time I was using Zoop, another web framework based on Python, but during the conference someone, don't remember who
Speaker 1: talked to me about Django. And so I went to the website to try it and download it. And this was the aspect of the website at that time. It already contained all the information to download Django 096. as a compressed fi uh archive or the development version using subversion of course. And this is instead the same download page as you can see today. It has a new team and also contain more information about different uh version of Django. and also holy method to download and install as a python packages. In the same page there is also
Speaker 1: an interesting graph uh with the present and past Django versions I found it personally very useful to plan project maintenance based on the data of release of the new version. After downloading it, I personally I haven't used Django or for the first time. But when I decided to do it , years later, uh I went directly in the documentation section to start studying it better. I took this other picture in a group of job developers at EuroPython 2017 in Florence and in the conference
Speaker 1: For the first time I attended in two talks about Django. Those talks were presented by Simon Wilson and the other one was from Tom Christie that is here. And they inspired me so much that I started studying Django. and I went directly in the documentation section. That was like like this. It was very basic and didn't know have any search function or a lot of uh section but I re it already contained the tutorial and that helped me so much my first step with Django And this is the same documentation today and with a better theme, clear structure, and
Speaker 1: you can find more and more contents. You can see a lot of pages like this and you can navigate and read but there is also some other function that I found very useful and that I want to show with you. The first one is the offline documentation download function. Thanks to ReadDedocs, you are able to download a version of the documentation in different types of and different formats. The first one is the HTML version of the documentation as a compressed uh archive. Personally, I have a copy of this locally uh every time and um I use when I have a problem with my connection on my computer.
Speaker 1: The other one is the PDF version here in the documentation reader on my computer. It's very convenient for me to share because it's only one file and it's also useful to take some note on it and also to highlight some parts. And finally the format I found more useful for me is the EPUB version. Here you can see how it appeared in my ebook reader and uh I have to admit that I use a lot during my journey for conferences because it's very easy to read when I can't or I don't want to use my computer Another documentation feature important for me is the full text search. Today
Speaker 1: we have a lot of uh different features in the search. It's multilingual, it's based on Postgres. uh it return clean results without any HTML tags. It also has the word alights and support web search syntax like And after using the whole version of this search function, I tried to improve it personally. This is a photo of the Django sprint that I organized at EuroPython twenty seventeen in Rimini. I propose at the
Speaker 1: time to work on the Django project website, trying to use the full text search based on Postgres to replace the older ones based on an external search engine. And in the following months after this sprint, I created a pull request and then someone mentioned me. And This is what the search function looks like now. You can see an example with all the feature in action. We have a French version of the Django documentation. Also the input is in French. Use some web search syntaxes like exact phrase search and word removal. And we can also see the first implementation of the word highlights
Speaker 1: in the results. But other than French, currently the Django documentation full text search engine can potentially support 28 different language out of the box, thanks to Postgres. This is the complete list. However, only seven of them have a public translation of documentation at the moment. To select one another's translation of the documentation, you can use the language menu. that there you can see expanding from the right of the page. It's over the content but it closes after you select another language. And this is the same menu in the mobile version of the documentation.
Speaker 1: You can see more clearly all the language you can select I think this list is long enough, but it can be even longer, counting on how big our community is. We need the help of all of you to translate Django, the Django documentation in many other languages. So please join the Django translation project on Transiffects to help to translate the documentation in your language. Here you can see the dashboard, the Transiflex uh with some metrics uh of the contribution that usually increase after the release of a Django version like in the case. Personally, I used
Speaker 1: the Django documentation in English, but after a bit I joined the Italian Django translation group to help them to translate the documentation and finally we reach the required amount of the word to be added in the website. And as you can see in the screenshot, the process other than very interesting can be funny So again please help us to translate the documentation and uh group with other people with your country to help them and thanks Carton for measuring this pull request at the time. The bug tracker was the next Django project website section I started using after studying the documentation
Speaker 1: You can find it in this subdomain in which it's also the track instance that is an open source project manager and backtrack system written in Django. In this photo, I'm with I'm at DjangoCon Europe 2017 with uh Mark Tamminil and Markus Alterman. They helped me with my very first issue in Django. And other than reviewing my repo request, they also helped me using the issue tracker. That was not simple at all at the beginning. And this is my first issue I created in Django Back Tracker. In the section of the website, you can read
Speaker 1: instruction on how better use the tracker and how to open an issue. But I suggest to you to read other issue for a while see how they other use more spin th than you and then try to open an issue on yourself if you have something to to put on it. It's the best way to learn how to use it for real, as I did six years ago now. And if the backtracker is too complete, uh it can be There is another section in the Django website, the dashboard. It contains a lot of it you can use the uh the dashboard subdomain to easy navigate easier
Speaker 1: all the issues to read all the metrics about the jungle development status And it's easier to read. This is only a screenshot of the first part. If you scroll down, you can see more metrics and more information about it. And I take I took this pi this screenshot some days ago, so today the numbers can be different. And If you want to contribute to the Jungle project, I suggest to bookmark this web page to your browser to easy read day-by-day information about the status of the Jungle development. After trying to be a better Django developer and trying to contribute, I also
Speaker 1: try to be involved more in the community. So the community section was the next session I visited. And I used this section to find all the Django community resources as different mailing lists, recently the forum, and to be more involved. And but there is another part of this page very informative and it's very useful and is the Django RSS feed section. It has been very useful to me to be updated on the Django community and also to find new article and new blog about Django.
Speaker 1: As you can see you can expand one section to see the latest item, but you can also add your feed. uh in this section and I had my blog uh um few years ago and I started trying to uh writing more articles about Django Other than the community blog and article, you can also read the uh the Django project blog itself. It contains the all the events and also the news published since the first Django release. In fact, I found very interesting reading the very first article from the beginning of Django.
Speaker 1: It helped me a lot to understand how the community born and grew up and it's very fun to see how things are different at the time. In this page you can find aside the upcoming events of the Django community like this Django Europe or the next in Australia and in maybe in US. One of the last section I ever read as a user was the Jungle Software Foundation page. But unfortunately fortunately it contained a lot of very interesting information about the jungle and the its foundation
Speaker 1: I found this page late in my career of contributor, but I learned more about the foundation, its goal. and also I found the list of the members of uh the DSF and the members of the board and also um a lot of things that are very very interesting. But unfortunately this section is not well organized and it's a bit difficult to navigate on it The last section I want to show you is very important for the Jungle Software Foundation and Carlton showed before, and it's the fundraising section where you can donate some money to the foundation. In this section, you can find the list of the sponsor, the explanation of how the money will be used.
Speaker 1: And you also can use this form to make a one-time or recurring donation The user experience in this section can be better as or in other website section. Luckily, we are doing something about that So I took this picture last Friday during the Pike on Italia and Florence where two my colleagues, Laura and Virginia, gave a talk about the work. we are we are doing uh with SunTitab on the jungle project. com. They are both a user experience a user UX and UI designer and they are helping us analyzing the current situation of the Django website from the point of view of the user experience.
Speaker 1: Because during the last DjangoCon US in San Diego, Carter will ask me as a CTO of 20Tab if we we could help the DSF to improve the user experience in the on the website. So we were happy to help and slowly we started to work on that. So our user expert did analysis in a few steps. They individually browsed through the websites and inside different board using Euristic template they pointed out details from the analysis They sat together and discussed and compared the score and the details of the analysis and after that they highlighted some details that were more relevant
Speaker 1: so that we can improve the websites. And they made a short report with some results. The most prominent issue were related to accessibility. There are disruption in the navigation flow. Some pages are so deep and hidden into the platform that find that because become difficult So the next but the next step we want to collect is that we want to collect feedback from user because the best way to improve a user experience is to ask them. We will do that with surveys, interviews, and collaborating with the community.
Speaker 1: So I strongly invite you all to scan these QR codes and briefly answer the server 's question. It will only take a few minutes. You can scan now and then you can compile and have a few minutes and Laura and Virginia made the survey after the analysis work so they put their uh interesting question for our point of view. you will find a question on your experience about the website and also with the donation part is on everything we are working on. And your feedback as a Django user will be very, very helpful to us. I also put this same QR code on the desk. So if you under the title
Speaker 1: m to scan now or if you want to to say to others of take a picture of the QR code to share, you you can do that. And now the last photo. This is me with uh Churle Sara at DjangoCon Europe 2022 in Porto They are very very active contributing in the Django project repository. The GitHub repository was the main is the main point to contribute to the Django website to improve one of the sections I show you and I also started doing it, contributing on it on some points. I invite you all to go there, start reading some issue. You can filter them using the tag, you can search the one you care more about.
Speaker 1: And you you can also try to take charge in some of them and propose a pull request to fix some of this issue. Any help any new help will be very very appreciated. So I hope I've been able to tell you all I know about the Django Project website. I 'm sure others know better than other sections and you can um study more than me what what inside the website and share with other people. So if you want you can download and share this presentation because it's released with the Creative Commons license. And as 20Dub, we share information about this work on the Django website. And you can find all this information on our website here.
Speaker 1: But if you want to find my personal contribution to Django, you can use my contacts and download this presentation using the square code now. And I'll leave this uh slide so that other can scan the QR code and thanks. Grazie. Before going to the question, I want to ask last favor. I take a picture of you all. So if you can say hi. Thank you.
Speaker 2: Thank you very much, Paolo. Um do we have anyone with a question? Uh you can just walk up
Speaker 1: Okay, you can find me also to speak together after a bit.
Speaker 2: Yep, that's great. Um thank you very much, Paulo.
Speaker 1: Thank you.
The documentation can be downloaded from Read the Docs as a compressed HTML archive, a PDF, or an EPUB file. The speaker finds the HTML copy useful without an internet connection, the PDF convenient for notes and highlighting, and the EPUB useful on an e-reader.
Discussed at 4:49The full-text search is multilingual, uses PostgreSQL, returns clean results, highlights matching words, and supports web-search syntax such as exact phrases and excluding words. It can potentially support 28 languages, although only seven currently have public documentation translations.
Discussed at 6:24You can join the Django translation project on Transifex and work with the translation group for your language. The site provides a dashboard showing translation progress and contribution metrics.
Discussed at 8:40Read the tracker instructions and look through existing issues first to learn how they are written and managed. Once you have something to report, open an issue yourself using those conventions.
Discussed at 10:59The dashboard makes it easier to browse issues and view metrics about Django's development status. The speaker recommends bookmarking it to follow the project's progress day by day.
Discussed at 11:44The Community section links to resources such as mailing lists and the forum, and its RSS-feed area shows recent items and lets you add your own feed. The Django project blog contains historical news and event information, while the site also lists upcoming community events.
Discussed at 12:31The fundraising section lists sponsors, explains how funds are used, and provides a form for making either a one-time or recurring donation.
Discussed at 14:52Use the website's GitHub repository to read and filter issues, find one you care about, take it on, and submit a pull request. The speaker encourages newcomers to start by reviewing issues and then propose fixes.
Discussed at 18:51Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025