awesome-django icon indicating copy to clipboard operation
awesome-django copied to clipboard

add django-viewcomponent

Open michael-yin opened this issue 5 months ago • 2 comments

I have submitted 3 packages which all built by me, they have been used in many Django projects so I think it make sense to add them to this awesome list.

Thx.

michael-yin avatar Nov 05 '25 06:11 michael-yin

@michael-yin Coming from https://github.com/wsvincent/awesome-django/blob/main/contributing.md

Make an individual pull request for each suggestion and include a reason why it is awesome.

I believe it's easier to review when this recommendation is followed, and it increases the chance that the changes will be merged.

ulgens avatar Nov 05 '25 10:11 ulgens

Project Information

  1. Project Name: django-viewcomponent

  2. Project URL: https://github.com/rails-inspire-django/django-viewcomponent

  3. Description:

    django-viewcomponent is a Django library that provides a way to create reusable components for Django projects, inspired by Rails ViewComponent. It focuses on encapsulating Django templates with enhanced slot functionality and improved testability.


Criteria

  1. Is the project new?

    • [ ] Yes
    • [x] No
  2. How long has the project been maintained?

    django-viewcomponent has been maintained for approximately 1 year (first commit around late 2023), with active development and regular updates. The project shows consistent commit activity with the latest update 10 months ago.

  3. How many releases has it had if it's a library or package?

    django-viewcomponent has 9 releases, with the latest being v1.0.10 on January 3, 2025. Release history

  4. Are you the author, or are you submitting the project on behalf of a company?

    • [x] I am the author
    • [ ] I am submitting on behalf of a company
    • [ ] Other (please specify)
  5. What makes it awesome?

    • Inspired by Rails ViewComponent, bringing proven patterns to Django
    • Focuses purely on template encapsulation without frontend asset concerns
    • Enhanced slot functionality that can be invoked multiple times for collections
    • Slot fields declared in Python rather than templates for better maintainability
    • Built-in preview system for component development
    • Components are Python objects, making them easily testable without touching views/URLs

AI Disclosure

We love transparent contributions. Using AI is perfectly fine, just let us know.

  • [x] Yes, this pull request was generated or assisted by AI.
  • [ ] No, this pull request was authored entirely by a human.

Additional Information

django-viewcomponent fills an important gap in the Django ecosystem by bringing component-driven development patterns to Django templates.

michael-yin avatar Nov 06 '25 07:11 michael-yin