django-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
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:
- Install the Django Jet package using pip:
pip install django-jet
- Add
'jet'
to yourINSTALLED_APPS
in your Django project'ssettings.py
file:
INSTALLED_APPS = [
'jet',
# ...
]
- 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')),
# ...
]
- (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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
========== 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
- Home page: http://jet.geex-arts.com/
- New Jet:
Live Demo <https://app.jetadmin.io/demo?utm_source=jet&utm_medium=banner&utm_campaign=github&utm_content=link&utm_term=promo>
_ - Live Demo: http://demo.jet.geex-arts.com/admin/
- Documentation: http://jet.readthedocs.org/
- libi.io http://libi.io/library/1683/django-jet
- PyPI: https://pypi.python.org/pypi/django-jet
- Support: support@jet.geex-arts.com
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
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 = 💚
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot