Convert Figma logo to code with AI

geex-arts logodjango-jet

Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

3,570
776
3,570
304

Top Related Projects

:superhero: :zap: django's default admin interface with superpowers - customizable themes, popup windows replaced by modals and many other features.

Modern theme for Django admin interface

A jazzy skin for the Django Admin-Interface (official repository).

Jazzy theme for Django

Django + Tailwind CSS = 💚

Quick Overview

Django Jet is a modern and responsive admin interface for the Django web framework. It provides a visually appealing and user-friendly dashboard, along with a variety of customization options to enhance the admin experience.

Pros

  • Modern and Responsive Design: Django Jet offers a sleek and modern user interface that is optimized for both desktop and mobile devices.
  • Customization Options: The project allows for extensive customization, enabling developers to tailor the admin interface to their specific needs.
  • Improved Productivity: The dashboard and various widgets help administrators quickly access and manage important information, improving overall productivity.
  • Active Development: The project is actively maintained and regularly updated, ensuring compatibility with the latest versions of Django.

Cons

  • Limited Documentation: The project's documentation could be more comprehensive, making it challenging for new users to get started.
  • Potential Performance Impact: Depending on the complexity of the customizations, the additional features provided by Django Jet may impact the overall performance of the admin interface.
  • Dependency on Third-Party Libraries: Django Jet relies on several third-party libraries, which could introduce additional maintenance overhead.
  • Limited Compatibility: The project may not be compatible with all Django versions or may require specific versions of dependencies.

Code Examples

# Customizing the Dashboard
from jet.dashboard.modules import DashboardModule

class CustomDashboardModule(DashboardModule):
    title = 'Custom Module'
    template = 'jet/dashboard/module.html'

    def init_with_context(self, context):
        self.children.append({
            'title': 'Example Link',
            'url': 'https://example.com'
        })

This code demonstrates how to create a custom dashboard module in Django Jet, allowing you to add additional widgets and functionality to the admin dashboard.

# Configuring the Menu
from jet.dashboard.dashboard import Dashboard, AppIndexDashboard

class CustomDashboard(Dashboard):
    columns = 3

    def init_with_context(self, context):
        self.available_children.append(CustomDashboardModule)

class CustomAppIndexDashboard(AppIndexDashboard):
    def init_with_context(self, context):
        self.children.append(CustomDashboardModule)

This code demonstrates how to customize the menu structure and layout of the Django Jet admin interface, allowing you to organize and display the available modules and applications.

# Applying Custom Branding
from django.conf import settings

JET_THEMES = [
    {
        'theme': 'default', # theme folder name
        'color': '#47bac1', # color of the theme's button in user menu
        'title': 'Default' # theme title
    },
    {
        'theme': 'green',
        'color': '#44b78b',
        'title': 'Green'
    },
    {
        'theme': 'light-green',
        'color': '#2faa60',
        'title': 'Light Green'
    }
]

JET_SIDE_MENU_COMPACT = True
JET_CHANGE_FORM_SIBLING_LINKS = True

This code demonstrates how to configure the branding and appearance of the Django Jet admin interface, including the ability to select from pre-defined themes or create custom themes.

Getting Started

To get started with Django Jet, follow these steps:

  1. Install the Django Jet package using pip:
pip install django-jet
  1. Add 'jet' to your INSTALLED_APPS in your Django project's settings.py file:
INSTALLED_APPS = [
    'jet',
    # ...
]
  1. Include the Django Jet URLs in your project's urls.py file:
from django.urls import path, include

urlpatterns = [
    path('jet/', include('jet.urls', 'jet')),
    # ...
]
  1. (Optional) Customize the Django Jet configuration by adding the following settings to your settings.py file:
JET_SIDE_MENU_COMPACT = True
JET_CHANGE_FORM_SI

Competitor Comparisons

:superhero: :zap: django's default admin interface with superpowers - customizable themes, popup windows replaced by modals and many other features.

Pros of django-admin-interface

  • More actively maintained with recent updates
  • Offers a wider range of customization options for the admin interface
  • Includes a built-in theme editor for easy customization

Cons of django-admin-interface

  • May have a steeper learning curve due to more configuration options
  • Potentially higher resource usage due to additional features

Code Comparison

django-admin-interface:

from admin_interface.models import Theme

Theme.objects.update_or_create(
    name='MyTheme',
    defaults={'active': True, 'title': 'My Custom Admin'}
)

django-jet:

JET_DEFAULT_THEME = 'light-gray'
JET_THEMES = [
    {'theme': 'default', 'color': '#47bac1', 'title': 'Default'},
    {'theme': 'green', 'color': '#44b78b', 'title': 'Green'},
]

Both projects aim to enhance the Django admin interface, but django-admin-interface offers more extensive customization options and an integrated theme editor. django-jet, while simpler to set up, may be less flexible for complex admin interface modifications. The code examples demonstrate the different approaches to theme configuration in each project.

Modern theme for Django admin interface

Pros of Django Suit

  • More mature and stable project with a longer history
  • Extensive documentation and better community support
  • Wider range of customization options for admin interface

Cons of Django Suit

  • Less frequent updates and maintenance
  • Paid license required for commercial use
  • Slightly more complex setup process

Code Comparison

Django Suit configuration:

SUIT_CONFIG = {
    'ADMIN_NAME': 'My Admin',
    'MENU': (
        {'app': 'auth', 'icon': 'icon-lock'},
        {'app': 'users', 'icon': 'icon-user'},
    ),
}

Django Jet configuration:

JET_SIDE_MENU_COMPACT = True
JET_CHANGE_FORM_SIBLING_LINKS = True
JET_THEMES = [
    {'theme': 'default', 'color': '#47bac1', 'title': 'Default'},
    {'theme': 'green', 'color': '#44b78b', 'title': 'Green'},
]

Both Django Suit and Django Jet offer enhanced admin interfaces for Django projects. Suit provides a more established solution with extensive customization options, while Jet offers a modern, responsive design with frequent updates. The choice between the two depends on specific project requirements, budget constraints, and desired features.

A jazzy skin for the Django Admin-Interface (official repository).

Pros of django-grappelli

  • More mature and established project with a longer history
  • Extensive documentation and community support
  • Better integration with Django's built-in admin features

Cons of django-grappelli

  • Less modern and sleek UI design compared to django-jet
  • Fewer customization options for the admin interface
  • Slower development cycle and less frequent updates

Code Comparison

django-grappelli:

from django.contrib import admin
from grappelli.dashboard import modules, Dashboard

class MyDashboard(Dashboard):
    def __init__(self, **kwargs):
        Dashboard.__init__(self, **kwargs)
        self.children.append(modules.ModelList(
            title='Administration',
            column=1,
            models=('django.contrib.*',)
        ))

django-jet:

from django.contrib import admin
from jet.dashboard import modules, Dashboard

class CustomDashboard(Dashboard):
    columns = 3
    def init_with_context(self, context):
        self.available_children.append(modules.ModelList(
            'Administration',
            models=('django.contrib.*',)
        ))

Both projects aim to enhance Django's admin interface, but django-grappelli focuses on maintaining compatibility with Django's core features, while django-jet offers a more modern look and feel with additional customization options. The code comparison shows similar approaches to creating custom dashboards, with slight differences in syntax and structure.

Jazzy theme for Django

Pros of Django Jazzmin

  • More active development and maintenance
  • Wider range of customization options and themes
  • Better documentation and examples

Cons of Django Jazzmin

  • Steeper learning curve due to more configuration options
  • May require more setup time for complex customizations

Code Comparison

Django Jazzmin configuration:

JAZZMIN_SETTINGS = {
    "site_title": "My Admin",
    "site_header": "My Admin",
    "welcome_sign": "Welcome to the Admin",
    "search_model": "auth.User",
}

Django Jet configuration:

JET_DEFAULT_THEME = 'light-gray'
JET_SIDE_MENU_COMPACT = True
JET_CHANGE_FORM_SIBLING_LINKS = True

Both Django Jazzmin and Django Jet aim to enhance the Django admin interface, but they differ in their approach and features. Django Jazzmin offers more flexibility and customization options, making it suitable for projects that require a highly tailored admin interface. It also benefits from more active development and better documentation.

On the other hand, Django Jet provides a simpler setup process and may be more suitable for projects that need a quick and straightforward admin interface improvement. However, it has less active development and fewer customization options compared to Django Jazzmin.

When choosing between the two, consider your project's specific requirements, the level of customization needed, and the time you're willing to invest in setting up and maintaining the admin interface.

Django + Tailwind CSS = 💚

Pros of django-tailwind

  • Integrates Tailwind CSS, a highly customizable utility-first CSS framework
  • Provides a streamlined development workflow with hot-reloading
  • Offers better performance due to Tailwind's smaller file sizes

Cons of django-tailwind

  • Requires learning Tailwind CSS syntax and utility classes
  • Less out-of-the-box styling compared to django-jet's pre-designed components
  • May require more custom CSS for complex designs

Code Comparison

django-tailwind:

<div class="flex items-center justify-between p-4 bg-gray-100">
  <h1 class="text-2xl font-bold text-gray-800">Dashboard</h1>
  <button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
    Add New
  </button>
</div>

django-jet:

<div class="dashboard-header">
  <h1>Dashboard</h1>
  <a href="#" class="btn btn-primary">Add New</a>
</div>

The django-tailwind example uses utility classes for styling, while django-jet relies on pre-defined CSS classes. django-tailwind offers more flexibility but requires more verbose markup.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

========== Django JET

.. image:: https://travis-ci.org/geex-arts/django-jet.svg?branch=master :target: https://travis-ci.org/geex-arts/django-jet

Modern template for Django admin interface with improved functionality

+-----------------------------------------------------------------------------------------------------------------------------------+ | Attention! NEW JET | +===================================================================================================================================+ | We are proud to announce completely new Jet. Please check out Live Demo. | | | | Developing of new features for Django Jet will be frozen, only critical bugs will be fixed. | +-----------------------------------------------------------------------------------------------------------------------------------+ | Live Demo <https://github.com/jet-admin/jet-bridge>_ | +-----------------------------------------------------------------------------------------------------------------------------------+

Django JET has two kinds of licenses: open-source (AGPLv3) and commercial. Please note that using AGPLv3 code in your programs make them AGPL compatible too. So if you don't want to comply with that we can provide you a commercial license (visit Home page). The commercial license is designed for using Django JET in commercial products and applications without the provisions of the AGPLv3.

.. image:: https://raw.githubusercontent.com/geex-arts/jet/static/logo.png :width: 500px :height: 500px :scale: 50% :alt: Logo :align: center

Why Django JET?

  • New fresh look
  • Responsive mobile interface
  • Useful admin home page
  • Minimal template overriding
  • Easy integration
  • Themes support
  • Autocompletion
  • Handy controls

Screenshots

.. image:: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen1_720.png :alt: Screenshot #1 :align: center :target: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen1.png

.. image:: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen2_720.png :alt: Screenshot #2 :align: center :target: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen2.png

.. image:: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen3_720.png :alt: Screenshot #3 :align: center :target: https://raw.githubusercontent.com/geex-arts/django-jet/static/screen3.png

Installation

  • Download and install latest version of Django JET:

.. code:: python

pip install django-jet
# or
easy_install django-jet
  • Add 'jet' application to the INSTALLED_APPS setting of your Django project settings.py file (note it should be before 'django.contrib.admin'):

.. code:: python

INSTALLED_APPS = (
    ...
    'jet',
    'django.contrib.admin',
)
    
  • Make sure django.template.context_processors.request context processor is enabled in settings.py (Django 1.8+ way):

.. code:: python

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                ...
                'django.template.context_processors.request',
                ...
            ],
        },
    },
]

.. warning:: Before Django 1.8 you should specify context processors different way. Also use django.core.context_processors.request instead of django.template.context_processors.request.

.. code:: python

    from django.conf import global_settings

    TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
        'django.core.context_processors.request',
    )
  • Add URL-pattern to the urlpatterns of your Django project urls.py file (they are needed for related–lookups and autocompletes):

.. code:: python

urlpatterns = patterns(
    '',
    url(r'^jet/', include('jet.urls', 'jet')),  # Django JET URLS
    url(r'^admin/', include(admin.site.urls)),
    ...
)
  • Create database tables:

.. code:: python

python manage.py migrate jet
# or 
python manage.py syncdb
    
  • Collect static if you are in production environment:

.. code:: python

    python manage.py collectstatic
    
  • Clear your browser cache

Dashboard installation

.. note:: Dashboard is located into a separate application. So after a typical JET installation it won't be active. To enable dashboard application follow these steps:

  • Add 'jet.dashboard' application to the INSTALLED_APPS setting of your Django project settings.py file (note it should be before 'jet'):

.. code:: python

INSTALLED_APPS = (
    ...
    'jet.dashboard',
    'jet',
    'django.contrib.admin',
    ...
)
  • Add URL-pattern to the urlpatterns of your Django project urls.py file (they are needed for related–lookups and autocompletes):

.. code:: python

urlpatterns = patterns(
    '',
    url(r'^jet/', include('jet.urls', 'jet')),  # Django JET URLS
    url(r'^jet/dashboard/', include('jet.dashboard.urls', 'jet-dashboard')),  # Django JET dashboard URLS
    url(r'^admin/', include(admin.site.urls)),
    ...
)
  • For Google Analytics widgets only install python package:

.. code::

pip install google-api-python-client==1.4.1
  • Create database tables:

.. code:: python

python manage.py migrate dashboard
# or
python manage.py syncdb
  • Collect static if you are in production environment:

.. code:: python

    python manage.py collectstatic