Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Overview

Xadmin Build Status

Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Live Demo

http://demo.xadmin.io

  • User: admin
  • Password: admin

Features

  • Drop-in replacement of Django admin
  • Twitter Bootstrap based UI with theme support
  • Extensible with plugin support
  • Better filter, date range, number range, etc.
  • Built-in data export with xls, csv, xml and json format
  • Dashboard page with widget support
  • In-site bookmarking
  • Full CRUD methods

Screenshots

Actions
Filter
Chart
Export Data
Edit inline

Get Started

Install

Xadmin is best installed via PyPI. To install the latest version, run:

pip install xadmin

or Install from github source:

pip install git+git://github.com/sshwsfc/xadmin.git

Install from github source for Django 2.0:

pip install git+git://github.com/sshwsfc/[email protected]

Install Requires

Documentation

Changelogs

0.6.0

  • Compact with Django1.9.
  • Add Clock Picker widget for timepicker.
  • Fixed some userface errors.

0.5.0

  • Update fontawesome to 4.0.3
  • Update javascript files to compact fa icons new version
  • Update tests for the new instance method of the AdminSite class
  • Added demo graphs
  • Added quickfilter plugin.
  • Adding apps_icons with same logic of apps_label_title.
  • Add xlsxwriter for big data export.
  • Upgrade reversion models admin list page.
  • Fixed reverse many 2 many lookup giving FieldDoesNotExist error.
  • Fixed user permission check in inline model.

Detail

Online Group

  • QQ群 : 282936295

Run Demo Locally

cd demo_app
./manage.py migrate
./manage.py runserver

Open http://127.0.0.1:8000 in your browser, the admin user password is admin

Help

Help Translate : http://trans.xadmin.io

Issues
  • pip install的时候提示字符编码错误

    pip install的时候提示字符编码错误

    我的django版本是1.9,Python版本是3.5 windows10系统

    C:\Users\Hao\Project\django\xadmin>pip install django-xadmin
    Collecting django-xadmin
      Using cached django-xadmin-0.5.0.tar.gz
        Complete output from command python setup.py egg_info:
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "C:\Users\Hao\AppData\Local\Temp\pip-build-tp9q6ucv\django-xadmin\setup.py", line 11, in <module>
            long_description=open('README.rst').read(),
        UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3256: illegal multibyte sequence
    
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in C:\Users\Hao\AppData\Local\Temp\pip-build-tp9q6ucv\django-xadmin\
    
    opened by awmleer 16
  • xadmin for python 3

    xadmin for python 3

    Will there be a version of xadmin for python 3?

    Thanks

    opened by javienco 10
  • Widgets are not loading correctly when inline extra = 0

    Widgets are not loading correctly when inline extra = 0

    Hi there,

    Somehow when I use inlines and define extra = 0 for my inline, the widgets for instance, the calendar and the cool dropdowns with search functionality stopped working, apparently they do not load correctly, but if I change to extra = 1 everything works fine again.

    Best, Dennis.

    opened by djheroez 9
  • 后台在一个增加model中的外键的内容时,前端显示错误

    后台在一个增加model中的外键的内容时,前端显示错误

    default 这里是添加一个model的外键对应的功能时(model内的inlines外键),出现的错误, 具体表现: 点击右上角的加号 //增加一个项指向该model 出现下图所示的界面,正常的添加的框没有出来,只显示了一些字, default 估计是js 的原因,但没找到具体的

    opened by miaogen123 8
  • Added quickfilter plugin. Only made for in default menu style

    Added quickfilter plugin. Only made for in default menu style

    Made a plugin that adds a checkbox select menu using __in filters to the left side of the page.

    Preview

    opened by frmdstryr 7
  • 不支持Django==1.11

    不支持Django==1.11

    环境python 2.7.13 Django==1.11

    报错信息

    Traceback (most recent call last):
      File "D:\Python2\lib\site-packages\django\utils\autoreload.py", line 227, in wrapper
        fn(*args, **kwargs)
      File "D:\Python2\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
        autoreload.raise_last_exception()
      File "D:\Python2\lib\site-packages\django\utils\autoreload.py", line 250, in raise_last_exception
        six.reraise(*_exception)
      File "D:\Python2\lib\site-packages\django\utils\autoreload.py", line 227, in wrapper
        fn(*args, **kwargs)
      File "D:\Python2\lib\site-packages\django\__init__.py", line 27, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "D:\Python2\lib\site-packages\django\apps\registry.py", line 116, in populate
        app_config.ready()
      File "D:\python_project\serverlist\xadmin\apps.py", line 14, in ready
        self.module.autodiscover()
      File "D:\python_project\serverlist\xadmin\__init__.py", line 27, in autodiscover
        from xadmin.views import register_builtin_views
      File "D:\python_project\serverlist\xadmin\views\__init__.py", line 5, in <module>
        from edit import CreateAdminView, UpdateAdminView, ModelFormAdminView
      File "D:\python_project\serverlist\xadmin\views\edit.py", line 16, in <module>
        from xadmin import widgets
      File "D:\python_project\serverlist\xadmin\widgets.py", line 6, in <module>
        from django.forms.widgets import RadioFieldRenderer, RadioChoiceInput
    ImportError: cannot import name RadioFieldRenderer
    
    opened by pc10201 7
  • changelist_view

    changelist_view

    Hi, I user changelist_view method to control which column I want to show in the admin view. Is there any similar method I can call using xadmin? Thanks in advance.

    opened by letspw 7
  • Django 1.7 problem(AppRegistryNotReady)

    Django 1.7 problem(AppRegistryNotReady)

    Python 2.7

    My Url:

    from django.conf.urls import patterns, include, url
    import xadmin
    
    xadmin.autodiscover()
    
    urlpatterns = patterns('',
        url(r'^xadmin/', include(xadmin.site.urls))
    ) 
    

    My settings:

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'xadmin',
        'crispy_forms'
    )
    

    Exception on runserver:

    /env/bin/python /path/manage.py runserver 8000
    Traceback (most recent call last):
      File "/path/manage.py", line 12, in <module>
        execute_from_command_line(sys.argv)
      File "/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
        utility.execute()
      File "/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
        django.setup()
      File "/env/local/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
        app_config.import_models(all_models)
      File "/env/local/lib/python2.7/site-packages/django/apps/config.py", line 197, in import_models
        self.models_module = import_module(models_module_name)
      File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "/env/local/lib/python2.7/site-packages/xadmin/models.py", line 19, in <module>
        AUTH_USER_MODEL = django.contrib.auth.get_user_model()
      File "/env/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 136, in get_user_model
        return django_apps.get_model(settings.AUTH_USER_MODEL)
      File "/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 199, in get_model
        self.check_models_ready()
      File "/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 131, in check_models_ready
        raise AppRegistryNotReady("Models aren't loaded yet.")
    django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
    
    opened by alexsilva 7
  • django2.0分支 xadmin.site.register注册之后,后台看不到[已解决,各种缓存的问题]

    django2.0分支 xadmin.site.register注册之后,后台看不到[已解决,各种缓存的问题]

    生产模式,DEBUG = False 使用数据库为mysql python版本为3.5 原admin.py中已经注释掉了 新adminx.py如下: import xadmin from .models import Article class ArticleAdmin(object): pass xadmin.site.register(Article,ArticleAdmin)

    setting.py中也注册了xadmin,如下: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'article', 'xadmin', 'crispy_forms', 'reversion', ]

    路径也设置了,在setting.py中。如下: sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

    在urls.py中,设置了autodiscover,如下: xadmin.autodiscover() urlpatterns = [ path('xadmin/', xadmin.site.urls), ]

    已经makemigrations和migrate了 可以进入后台,但是看不到注册的表。 之前的admin是可以看见的。

    opened by Zerahhah 6
  • xadmin在django2.1版本是删除表记录失败

    xadmin在django2.1版本是删除表记录失败

    xadmin在django2.1版本是删除表记录失败,原因是xadmin中的delete.py中导入的django2.1版本的中函数get_deleted_objects现在只接受3个参数,原来是5个参数

    opened by fengxl0 6
  • LookupError: No installed app with label 'reversion'.

    LookupError: No installed app with label 'reversion'.

    Internal Server Error: /xadmin/ Traceback (most recent call last): File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\apps\registry.py", line 155, in get_app_config return self.app_configs[app_label] KeyError: 'reversion'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\sites.py", line 300, in wrapper return self.admin_view(view, cacheable)(*args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\sites.py", line 208, in inner return view(request, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 282, in view return handler(request, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\dashboard.py", line 593, in get return self.template_response('xadmin/views/dashboard.html', self.get_context()) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 80, in method return filter_chain(filters, len(filters) - 1, _inner_method, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 63, in filter_chain return filter_chain(filters, token - 1, _inner_method, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 49, in filter_chain return func() File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 62, in _inner_method return fm(func if fargs[1] == '' else func(), *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 74, in _inner_method return func(self, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\dashboard.py", line 586, in get_context context = super(Dashboard, self).get_context() File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 80, in method return filter_chain(filters, len(filters) - 1, _inner_method, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 63, in filter_chain return filter_chain(filters, token - 1, _inner_method, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 49, in filter_chain return func() File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 62, in _inner_method return fm(func if fargs[1] == '' else func(), *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 74, in _inner_method return func(self, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 410, in get_context menus = copy.copy(self.get_nav_menu()) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 80, in method return filter_chain(filters, len(filters) - 1, _inner_method, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 49, in filter_chain return func() File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 74, in _inner_method return func(self, *args, **kwargs) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\xadmin\views\base.py", line 373, in get_nav_menu app_title = smart_text(apps.get_app_config(app_label).verbose_name) File "C:\Users\Lenovo\code\ft\venv\lib\site-packages\django\apps\registry.py", line 162, in get_app_config raise LookupError(message) LookupError: No installed app with label 'reversion'. [24/Aug/2021 15:59:27] "GET /xadmin/ HTTP/1.1" 500 183939

    opened by haiya512 1
  • register_modelview 注册 无效

    register_modelview 注册 无效

    为什么我在 adminx.py中注册的register_modelview 路由不存在啊,但我把这个在 plugins.charts.py 中注册就有效

    opened by Dreeff 0
  • 如何实现同一个搜索条件输入多次筛选出多个对象

    如何实现同一个搜索条件输入多次筛选出多个对象

    目前xadmin自带的过滤器是针对一个字段输入一个条件筛选出一个对象,我是想问能实现在同一个字段处输入多个条件筛选出多个条件对应的多个对象吗,就比如邮件发送人那里输入一个邮件地址会加入发送人队列,再输一个再加入发送人队列,求大神帮忙

    opened by lucy304 0
  • 没有更新啊,三年前的老东西了

    没有更新啊,三年前的老东西了

    现在都不支持,修改了一晚上的bug,最后还是放弃了,有没有人维护一下啊。。。。。

    opened by w4sevens 6
  • 外键嵌入修改异常

    外键嵌入修改异常

    image wom我们修改这里面的字段保存的时候发现数据没有保存到数据库里面.choise字段也不能获取对应的选项

    opened by ouyangqr 1
  • 怎么不维护了呢

    怎么不维护了呢

    opened by zhangshuyuanzz 0
  • xadmin老用户, 推荐一个自己的类似xadmin的DRF 和 Antd Design Pro 快速开发管理后台工具。

    xadmin老用户, 推荐一个自己的类似xadmin的DRF 和 Antd Design Pro 快速开发管理后台工具。

    https://github.com/mtianyan/tyadmin_api_cli

    欢迎了解一下。 免费开源。

    opened by mtianyan 0
  • xadmin3.0 怎么使用,有人可以帮忙阐述一下么。

    xadmin3.0 怎么使用,有人可以帮忙阐述一下么。

    xadmin3.0 怎么使用,有人可以帮忙阐述一下么。 想要一个前段的框架和django结合起来,但是我的项目后台用了xadmin2.0 还需要一个前端的界面,所以需要xadmin3.0

    opened by legend-zl 0
Releases(0.4.0)
fastapi-admin is a fast admin dashboard based on FastAPI and TortoiseORM with tabler ui, inspired by Django admin.

fastapi-admin is a fast admin dashboard based on FastAPI and TortoiseORM with tabler ui, inspired by Django admin.

fastapi-admin 1k Jan 14, 2022
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

null 1.6k Dec 14, 2021
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

null 1.6k Dec 14, 2021
A cool, modern and responsive django admin application based on bootstrap 5

django-baton A cool, modern and responsive django admin application based on bootstrap 5 Documentation: readthedocs Live Demo Now you can try django-b

Otto srl 531 Jan 18, 2022
Extends the Django Admin to include a extensible dashboard and navigation menu

django-admin-tools django-admin-tools is a collection of extensions/tools for the default django administration interface, it includes: a full feature

Django Admin Tools 656 Jan 18, 2022
Jet Bridge (Universal) for Jet Admin – API-based Admin Panel Framework for your application

Jet Bridge for Jet Admin – Admin panel framework for your application Description About Jet Admin: https://about.jetadmin.io Live Demo: https://app.je

Jet Admin 1.1k Jan 16, 2022
aiohttp admin is generator for admin interface based on aiohttp

aiohttp admin is generator for admin interface based on aiohttp

Mykhailo Havelia 9 Dec 1, 2021
📱 An extension for Django admin that makes interface mobile-friendly. Merged into Django 2.0

Django Flat Responsive django-flat-responsive is included as part of Django from version 2.0! ?? Use this app if your project is powered by an older D

elky 248 Dec 3, 2021
An improved django-admin-tools dashboard for Django projects

django-fluent-dashboard The fluent_dashboard module offers a custom admin dashboard, built on top of django-admin-tools (docs). The django-admin-tools

django-fluent 302 Dec 30, 2021
A Django app for easily adding object tools in the Django admin

Django Object Actions If you've ever tried making admin object tools you may have thought, "why can't this be as easy as making Django Admin Actions?"

Chris Chang 424 Jan 15, 2022
Disable dark mode in Django admin user interface in Django 3.2.x.

Django Non Dark Admin Disable or enable dark mode user interface in Django admin panel (Django==3.2). Installation For install this app run in termina

Artem Galichkin 3 Jan 10, 2022
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

Django JET Modern template for Django admin interface with improved functionality Attention! NEW JET We are proud to announce completely new Jet. Plea

Geex Arts 3.2k Jan 10, 2022
A jazzy skin for the Django Admin-Interface (official repository).

Django Grappelli A jazzy skin for the Django admin interface. Grappelli is a grid-based alternative/extension to the Django administration interface.

Patrick Kranzlmueller 3.2k Jan 15, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1k Jan 12, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.1k Dec 27, 2021
Modern theme for Django admin interface

Django Suit Modern theme for Django admin interface. Django Suit is alternative theme/skin/extension for Django administration interface. Project home

Kaspars Sprogis 2.1k Jan 16, 2022
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

null 2.3k Jan 12, 2022
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 832 Jan 14, 2022
"Log in as user" for the Django admin.

django-loginas About "Login as user" for the Django admin. loginas supports Python 3 only, as of version 0.4. If you're on 2, use 0.3.6. Installing dj

Stavros Korokithakis 292 Dec 26, 2021