Django Material

适用于 Django 的现代 Material Design 3 组件和全功能 CRUD/admin 界面。「Modern Material Design 3 components and full-featured CRUD/admin interfaces for Django」

Github星跟踪图

⚠️ IMPORTANT: This project is under active development. APIs, components, and behavior may change between versions. Use for exploration and prototyping; evaluate carefully before production use.

Table of Contents

About

Django Material brings Google's Material Design 3 to Django, offering both low-level UI components and full-featured CRUD/admin interfaces for rapid application development. Built on TailwindCSS and django-cotton, it delivers everything you need — from buttons and cards to list, create, update, and delete views — with minimal setup and zero frontend frameworks.

Our goal is to rethink UI component APIs for AI-assisted development: making them intuitive for developers, predictable for code generation tools, and streamlining the process of crafting interfaces by human or machine.

Features

  • 🎨 Material Design 3 components: buttons, cards, forms, tables, navigation, and more
  • 🧩 django-cotton integration: intuitive <c-button>, <c-card>, and other component tags
  • 🛠️ No build step required: pre-built CSS and JS included for immediate use
  • 📱 Fully responsive & accessible: mobile-first design with ARIA support and keyboard navigation
  • 🔄 SPA-like navigation: powered by Unpoly.js for seamless page updates
  • 🗃️ Full CRUD & admin: ready-to-use list, create, update, and delete views with Material styling and simple customization
  • 🤖 AI-first design: APIs optimized for AI-assisted generation and easy human coding
  • 🪄 Easily customizable: override templates, tweak styles, or extend components
  • ⚡ Zero frontend frameworks: no React, Vue, or Angular dependencies

Quickstart

  1. Install via pip:
    pip install django-material
    
  2. Add to INSTALLED_APPS:
    INSTALLED_APPS = [
        # ...
        'material',
        # ...
    ]
    
  3. Collect static files (production):
    python manage.py collectstatic
    
  4. In your template:
    {% extends "material/base.html" %}
    {% block content %}
      <c-button.filled>Start Building</c-button.filled>
    {% endblock %}
    

Usage

  • Modify design tokens in material/assets/ and rebuild:
    npm run build:css
    npm run build:js
    
  • Develop with live reloading:
    npm run dev
    
  • Run tests:
    npm test
    
  • Lint and format:
    npm run lint
    npm run format
    

Documentation & Demo

Explore comprehensive docs and live demos at material.viewflow.io.

Contributing

Contributions are welcome! See [ISSUES.md] for bug reports and feature requests.

License

Licensed under AGPLv3 with Additional Permissions. See [LICENSE] and [LICENSE_EXCEPTION]. Commercial terms in [COMM-LICENSE].


Built with ❤️ by the Viewflow Team.

主要指标

概览
名称与所有者viewflow/django-material
主编程语言JavaScript
编程语言Python (语言数: 5)
平台
许可证GNU Affero General Public License v3.0
所有者活动
创建于2015-01-16 07:17:33
推送于2025-06-30 08:27:58
最后一次提交2024-02-08 11:50:41
发布数0
用户参与
星数2.5k
关注者数89
派生数424
提交数172
已启用问题?
问题数415
打开的问题数20
拉请求数58
打开的拉请求数1
关闭的拉请求数64
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?