Bringing django-template-partials into Django Core Template System
Motivation
The django-template-partials library offers a powerful approach to creating reusable named inline partials in Django’s Template Language. By integrating this functionality into Django core, we aim to:
Standardize partial template handling
Enhance template modularity
Improve developer productivity
Provide native support for modern frontend techniques
Expected Outcomes
Comprehensive implementation of template partials in Django core
Seamless migration path for existing django-template-partials users
Extensive documentation and test coverage
Pull request for Django core integration
Potential Impact
Simplify template composition
Reduce template boilerplate
Establish a standard approach to template fragments
Support more dynamic frontend development
Detailed Project Plan
Project Timeline
February 27 - March 24, 2025: Initial research and community engagement
April 8, 2025: Proposal submission deadline
May 8 - June 1, 2025: Community bonding period
June 2 - August 25, 2025: Active development
Milestone Breakdown
Phase 1: Research and Preparation (Weeks 1-2)
Deep analysis of django-template-partials implementation
Review Django template system internals
Identify integration challenges
Consultation with Carlton Gibson and Django core developers
Phase 2: Core Implementation (Weeks 3-6)
Develop template partial tag implementation
Create template loader modifications
Implement context handling mechanisms
Add support for inline and named partials
Phase 3: Testing and Validation (Weeks 7-9)
Comprehensive test suite development
Diverse test scenario coverage
Test runner modifications
Performance and compatibility validation
Phase 4: Documentation and Migration (Weeks 10-12)
Migration guide for existing users
Detailed documentation preparation
Release notes creation
Django core pull request preparation
Potential Challenges
Maintaining backward compatibility
Performance optimization
Handling complex template inheritance
Minimizing disruption to existing template systems
This proposal aims to integrate django-template-partials into Django core, providing a standardized, flexible approach to template partials that enhances developer productivity.
I will further explore django-template-partials, analyze the codebase, and investigate relevant issues both in this repository and Django itself. I’ll also ensure my proposal reflects a deep understanding of DTL internals.
Project Exploration Progress:
Comprehensive review of django-template-partials codebase
Deep dive into Django Template Language (DTL) internals
Analyzing potential integration strategies and challenges
Clarification Requests:
Are there specific repository issues you recommend exploring?
What key technical aspects should I prioritize in my proposal?
Any recommended resources for deeper DTL understanding?
I’m committed to creating a robust, user-friendly implementation that aligns with Django’s core principles. Looking forward to your guidance and insights.
@AhmedNassar7 I’ve edited your post to remove the contact data. It’s not wise to just post your personal details on an open forum. If you just ensure they’re in your proposal, that’s fine.
I understand not to share personal details in public. Should my GSoC proposal (including my contacts) be submitted as a PDF or directly through the GSoC platform? If a PDF is needed, how should I send it to you for review?
Hi @AhmedNassar7 , You can create a draft proposal and share in a post in forum to gather feedback. It should be clear enough for others to understand the problem you are working on and the solution you are proposing . Timelines, milestones etc can be added in the final proposal as well.
Thanks for your response! I have already outlined the timeline and detailed each step of my project, covering the most critical aspects except for the implementation. If there are any specific details I should focus on, please let me know.
Since I’m still learning, I haven’t elaborated much on the coding part yet. I need step-by-step guidance to ensure I make steady progress, refine my approach, and align my proposal in the right direction. Instant feedback would be incredibly valuable in helping me improve and move forward efficiently.
I would appreciate your insights on any areas that need more detail or improvement. My main focus now is structuring the work efficiently and progressing towards a solid final proposal as soon as possible.
@AhmedNassar7 I find the proposal deeply problematic. It looks LLM generated. Most of the bullet points make zero sense, and the phrasing borders on ridiculous.
…revolutionizing template modularity and developer productivity…
Seriously?
Challenges in modern frontend development.
This says nothing.
30% increase in template management complexity.
That’s just invented.
I could go on.
I strongly suggest that you start with a blank slate, drop the LLM, and write a sensible proposal yourself if you want any chance of being selected for GSoC.
This is my first contribution to GSoC, and I’m eager to learn and improve. I’m unsure how to move forward. I have updated and changed the last proposal as requested and still working on it. I need some clarification:
Could you clarify the standard template for a Django proposal?
Could you please guide me on what needs to be fixed?
@AhmedNassar7, as of my understanding, it’s okay to use LLM to learn about something. But not to use LLM to generate some text and use it blindly. Because who has the responsibility to a given point in the generated text?. Instead, they want you to understand the problem, why we need to solve it, how should we solve it, and design/imagine some intuitive solution/process/procedure and propose it to the existing community.
Even though it’s advertised as LLM can code full applications and code better, it still lack intuitive understanding of the world and human needs.
Instead; first, understand the problem, write your own solutions, questions, code (why, how, when, what). Only use LLM for spelling corrections, understand complex documents etc. Still, we have to read the documentation(django), read the code, write the code manually. Thanks. No offence is intended.
This means to use an old GSoC proposal for reference.
Hi @everyone,
Before submitting my proposal, I would like to get some suggestions and feedbacks. As this is my first time taking part in GSoC and new experience in open source, And before submitting I am also going to add some Github links of my test coding.
here is my proposal.LINK
I have made a new draft proposal as requested and it is still under development. I need to ensure that I’m in the correct way and it’s make a sense. You can check it via this Link. If else, I will try to make a new one or as your request. Hoping to meet your expectations!
Also, I didn’t put the implementation now and will finalize it today, but firstly, I need to ensure the correct way before going deep. waiting for your response!
I’ve been working on the final version of my proposal all these days. I tried to make all your requested feedback. I’ve shared it for your review via GitHub Gist. If there is anything else needed from me, let me know. I’ll be happy to work on it. I’ll appreciate any feedback before I submit it to the GSoC platform.
I really passionate, interested, and love Django very much. I have done all the following and still strive for more.
Contributed to Django open-source with 4 PRs (1 merged and 3 under-review)
Wokring on my Graduation ProjectEgypt Metro PLatform. I am responsible for the backend Django integrating with the frontend flutter and AI.
Get a web development using python scholarship from ITI, which enhanced my experience in django.
I’m working on others tickets in Django and will submit the new PRs soon.
I’ll be happy and hope to give me this great opportunity and chance. I believe that I’ll be a successful contributor and make an impactful project and contribution.