{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/18"},{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/10"},{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/8"},{"label":"Dynamic Content","url":"https://skillfed.io/packages/category/internet-www-http-dynamic-content/3"}],"enrichment":{"capability":"Provides a Django model field and widget for storing and managing arbitrary HTML element attributes as JSON, with validation and template-safe string rendering.","skillfed_tags":["django-cms","html-attributes","json-field"],"use_cases":["Store custom data-* attributes on Django model instances without creating separate fields for each attribute type.","Manage flexible HTML element attributes in a Django CMS plugin or page extension without schema migration overhead.","Build admin forms where content editors can add arbitrary key-value pairs to HTML elements with a user-friendly widget interface.","Avoid performance problems from excessive database columns or join tables when a model needs to support many optional attributes.","Render HTML elements with dynamic attributes in templates by using the field's _str property for safe, escaped output."],"what_it_does":"This package provides an opinionated JSONField implementation for Django models that need to store arbitrary HTML element attributes without creating separate database columns or related tables for each attribute type. It solves the problem of managing flexible, schema-less attributes like data-* attributes or custom HTML properties that would otherwise require either many individual model fields or complex relational structures.\n\nThe package includes an AttributesField that stores key-value pairs as JSON and an AttributesWidget that provides an intuitive admin interface for editing these pairs. It automatically excludes dangerous keys like 'src', 'href', 'data', 'action', and any key starting with 'on' to prevent unintended JavaScript execution. The field also provides a convenience property that renders stored attributes as an HTML-safe string ready for template inclusion.","worth_installing":"Yes. This package is actively maintained, has no known vulnerabilities, carries a permissive license, and solves a real problem for Django projects that need flexible HTML attributes. The low install friction and single dependency on django-cms make it a straightforward addition to Django CMS sites. Use it when you need to store arbitrary attributes without schema bloat."},"id":"djangocms-attributes-field","links":{"html":"https://skillfed.io/packages/djangocms-attributes-field","md":"https://skillfed.io/packages/djangocms-attributes-field.md","pypi":"https://pypi.org/project/djangocms-attributes-field/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-11-02","license_spdx":null,"license_treatment":"permissive","name":"djangocms-attributes-field","python_support":"supports_current","summary":"Adds attributes to Django models."},"popularity":{"monthly_downloads":82253,"position":14174,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.1.2"}
