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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?