django-controlcenter


Namedjango-controlcenter JSON
Version 0.3.2 PyPI version JSON
download
home_pagehttps://github.com/byashimov/django-controlcenter
SummarySet of widgets to build dashboards for your Django-project.
upload_time2023-08-06 17:02:11
maintainer
docs_urlNone
authorMurad Byashimov
requires_python
licenseBSD
keywords django admin dashboard
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            Welcome to django-controlcenter!
================================

Get all your project models on one single page with charts and whistles.

.. image:: https://cloud.githubusercontent.com/assets/1560043/14309295/b8c9aad0-fc05-11e5-96d0-44293d2d07ff.png
    :alt: django-controlcenter

Attention!
----------

Unfortunately, I have no time to add new features.
Please make PR if you need one:

- branch from master
- provide tests
- add docs
- update changelog

That's it.


Rationale
---------

Django-admin_ is a great tool to control your project activity: new orders, comments, replies, users, feedback -- everything is here. The only struggle is to switch between all those pages constantly just to check them out for new entries.

With django-controlcenter you can have all of your models on one single page and build beautiful charts with Chartist.js_. Actually they don't even have to be a django models, get your data from wherever you want: RDBMS, NOSQL, text file or even from an external web-page, it doesn't matter.


Quickstart
----------

Install django-controlcenter:

.. code-block:: console

    pip install -U django-controlcenter

Create a dashboard file with unlimited number of widgets and dashboards:

.. code-block:: python

    from controlcenter import Dashboard, widgets
    from project.app.models import Model

    class ModelItemList(widgets.ItemList):
        model = Model
        list_display = ('pk', 'field')

    class MyDashboard(Dashboard):
        widgets = (
            ModelItemList,
        )

Update settings file:

.. code-block:: python

    INSTALLED_APPS = [
        ...
        'controlcenter',
        ...
    ]

    CONTROLCENTER_DASHBOARDS = (
        ('mydash', 'project.dashboards.MyDashboard'),
    )

Plug in urls:

.. code-block:: python

    from django.urls import path
    from django.contrib import admin
    from controlcenter.views import controlcenter

    urlpatterns = [
        path('admin/dashboard/', controlcenter.urls),
        path('admin/', admin.site.urls),
        ...
    ]

Open ``/admin/dashboard/mydash/`` in browser.


Documentation
-------------

Check out the docs_ for more complete examples.


Compatibility
-------------

.. image:: https://travis-ci.org/byashimov/django-controlcenter.svg?branch=master
    :alt: Build Status
    :target: https://travis-ci.org/byashimov/django-controlcenter

.. image:: https://codecov.io/github/byashimov/django-controlcenter/coverage.svg?branch=master
    :alt: Codecov
    :target: https://codecov.io/github/byashimov/django-controlcenter?branch=master

Tested on py 3.5—3.10 and django 1—4.


Credits
-------

This project uses Chartist.js_, Masonry.js_ and Sortable.js_.


Changelog
---------

0.3.2
~~~~~

- Automatically redirect the main app url to the first dashboard. Thanks to @fabiocaccamo.

0.3.1
~~~~~

- Support django 4.0, python 3.10. Thanks to @mick88.
- Fixed LineChart example. Thanks to @virtosubogdan.

0.3.0
~~~~~

- Support django 3.0
- Python 3 only

0.2.9
~~~~~

- ``chartist-plugin-pointlabels`` temporary fix
- Added sorting triangles to ``ItemList``
- ``ItemList`` header is now always displayed regardless sortability
- Other misc improvements

Thanks to @minusf.

0.2.8
~~~~~

- Fixed ``key_value_list.html`` widget template syntax error.
- Fixed attribute typo ``widget.chartist.point_labels -> point_lables``.

Thanks to @minusf.

0.2.7
~~~~~

- New ``TimeSeriesChart`` widget. Thanks to @pjdelport.
- New "simple" widgets: ``ValueList`` and ``KeyValueList``. Thanks to @tonysyu.
- Bunch of fixes and improvements, thanks again to @pjdelport.


0.2.6
~~~~~

- Fixed navigation menu links, thanks to @editorgit

0.2.5
~~~~~

- It's now possible to use slugs for dashboards instead of those indexes in ``CONTROLCENTER_DASHBOARDS``.
  The old behaviour is supported too.

0.2.4
~~~~~

- It's compatible with django 1.8—2.1 now
- Custom app name can be passed to ``ControlCenter`` class

0.2.3
~~~~~
- Updated column grid, thanks to @pauloxnet.
- Grammar fixes, thanks to @danielquinn.
- It's should be possible now to use a custom dashboard view with a custom template.

0.2.2
~~~~~
- ``dashboard.html`` now extends ``admin/base_site.html`` instead of ``admin/base.html``
  in order to display *branding* block. Thanks to @chadgh.
- Updated ``jsonify`` tag filter, thanks to @k8n.

0.2.1
~~~~~
- Django 1.10 support. Tested in tox *only*.
- Updated the SingleBarChart example, thanks to @greeve.

0.2.0
~~~~~
- Unlimited dashboards support.
- Configuration constructor is moved to a separate project -- django-pkgconf_. It's a dependency now.

0.1.2
~~~~~
- Chart ``i`` series color fix. Thanks to @uncleNight.
- Docs. Finally.

0.1.1
~~~~~
- Better responsive experience.

0.1.0
~~~~~
- First public release.

.. _Chartist.js: http://gionkunz.github.io/chartist-js/
.. _Masonry.js:  http://masonry.desandro.com/
.. _Sortable.js: http://github.hubspot.com/sortable/docs/welcome/
.. _Django-admin: https://docs.djangoproject.com/en/stable/ref/contrib/admin/
.. _django-pkgconf: https://github.com/byashimov/django-pkgconf
.. _docs: http://django-controlcenter.readthedocs.io/en/latest/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/byashimov/django-controlcenter",
    "name": "django-controlcenter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "django admin dashboard",
    "author": "Murad Byashimov",
    "author_email": "byashimov@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/76/5d/e6f0ea56b9be19a3052a85716ff3cb782d61c6830a6552f0f40198f49495/django-controlcenter-0.3.2.tar.gz",
    "platform": null,
    "description": "Welcome to django-controlcenter!\n================================\n\nGet all your project models on one single page with charts and whistles.\n\n.. image:: https://cloud.githubusercontent.com/assets/1560043/14309295/b8c9aad0-fc05-11e5-96d0-44293d2d07ff.png\n    :alt: django-controlcenter\n\nAttention!\n----------\n\nUnfortunately, I have no time to add new features.\nPlease make PR if you need one:\n\n- branch from master\n- provide tests\n- add docs\n- update changelog\n\nThat's it.\n\n\nRationale\n---------\n\nDjango-admin_ is a great tool to control your project activity: new orders, comments, replies, users, feedback -- everything is here. The only struggle is to switch between all those pages constantly just to check them out for new entries.\n\nWith django-controlcenter you can have all of your models on one single page and build beautiful charts with Chartist.js_. Actually they don't even have to be a django models, get your data from wherever you want: RDBMS, NOSQL, text file or even from an external web-page, it doesn't matter.\n\n\nQuickstart\n----------\n\nInstall django-controlcenter:\n\n.. code-block:: console\n\n    pip install -U django-controlcenter\n\nCreate a dashboard file with unlimited number of widgets and dashboards:\n\n.. code-block:: python\n\n    from controlcenter import Dashboard, widgets\n    from project.app.models import Model\n\n    class ModelItemList(widgets.ItemList):\n        model = Model\n        list_display = ('pk', 'field')\n\n    class MyDashboard(Dashboard):\n        widgets = (\n            ModelItemList,\n        )\n\nUpdate settings file:\n\n.. code-block:: python\n\n    INSTALLED_APPS = [\n        ...\n        'controlcenter',\n        ...\n    ]\n\n    CONTROLCENTER_DASHBOARDS = (\n        ('mydash', 'project.dashboards.MyDashboard'),\n    )\n\nPlug in urls:\n\n.. code-block:: python\n\n    from django.urls import path\n    from django.contrib import admin\n    from controlcenter.views import controlcenter\n\n    urlpatterns = [\n        path('admin/dashboard/', controlcenter.urls),\n        path('admin/', admin.site.urls),\n        ...\n    ]\n\nOpen ``/admin/dashboard/mydash/`` in browser.\n\n\nDocumentation\n-------------\n\nCheck out the docs_ for more complete examples.\n\n\nCompatibility\n-------------\n\n.. image:: https://travis-ci.org/byashimov/django-controlcenter.svg?branch=master\n    :alt: Build Status\n    :target: https://travis-ci.org/byashimov/django-controlcenter\n\n.. image:: https://codecov.io/github/byashimov/django-controlcenter/coverage.svg?branch=master\n    :alt: Codecov\n    :target: https://codecov.io/github/byashimov/django-controlcenter?branch=master\n\nTested on py 3.5\u20143.10 and django 1\u20144.\n\n\nCredits\n-------\n\nThis project uses Chartist.js_, Masonry.js_ and Sortable.js_.\n\n\nChangelog\n---------\n\n0.3.2\n~~~~~\n\n- Automatically redirect the main app url to the first dashboard. Thanks to @fabiocaccamo.\n\n0.3.1\n~~~~~\n\n- Support django 4.0, python 3.10. Thanks to @mick88.\n- Fixed LineChart example. Thanks to @virtosubogdan.\n\n0.3.0\n~~~~~\n\n- Support django 3.0\n- Python 3 only\n\n0.2.9\n~~~~~\n\n- ``chartist-plugin-pointlabels`` temporary fix\n- Added sorting triangles to ``ItemList``\n- ``ItemList`` header is now always displayed regardless sortability\n- Other misc improvements\n\nThanks to @minusf.\n\n0.2.8\n~~~~~\n\n- Fixed ``key_value_list.html`` widget template syntax error.\n- Fixed attribute typo ``widget.chartist.point_labels -> point_lables``.\n\nThanks to @minusf.\n\n0.2.7\n~~~~~\n\n- New ``TimeSeriesChart`` widget. Thanks to @pjdelport.\n- New \"simple\" widgets: ``ValueList`` and ``KeyValueList``. Thanks to @tonysyu.\n- Bunch of fixes and improvements, thanks again to @pjdelport.\n\n\n0.2.6\n~~~~~\n\n- Fixed navigation menu links, thanks to @editorgit\n\n0.2.5\n~~~~~\n\n- It's now possible to use slugs for dashboards instead of those indexes in ``CONTROLCENTER_DASHBOARDS``.\n  The old behaviour is supported too.\n\n0.2.4\n~~~~~\n\n- It's compatible with django 1.8\u20142.1 now\n- Custom app name can be passed to ``ControlCenter`` class\n\n0.2.3\n~~~~~\n- Updated column grid, thanks to @pauloxnet.\n- Grammar fixes, thanks to @danielquinn.\n- It's should be possible now to use a custom dashboard view with a custom template.\n\n0.2.2\n~~~~~\n- ``dashboard.html`` now extends ``admin/base_site.html`` instead of ``admin/base.html``\n  in order to display *branding* block. Thanks to @chadgh.\n- Updated ``jsonify`` tag filter, thanks to @k8n.\n\n0.2.1\n~~~~~\n- Django 1.10 support. Tested in tox *only*.\n- Updated the SingleBarChart example, thanks to @greeve.\n\n0.2.0\n~~~~~\n- Unlimited dashboards support.\n- Configuration constructor is moved to a separate project -- django-pkgconf_. It's a dependency now.\n\n0.1.2\n~~~~~\n- Chart ``i`` series color fix. Thanks to @uncleNight.\n- Docs. Finally.\n\n0.1.1\n~~~~~\n- Better responsive experience.\n\n0.1.0\n~~~~~\n- First public release.\n\n.. _Chartist.js: http://gionkunz.github.io/chartist-js/\n.. _Masonry.js:  http://masonry.desandro.com/\n.. _Sortable.js: http://github.hubspot.com/sortable/docs/welcome/\n.. _Django-admin: https://docs.djangoproject.com/en/stable/ref/contrib/admin/\n.. _django-pkgconf: https://github.com/byashimov/django-pkgconf\n.. _docs: http://django-controlcenter.readthedocs.io/en/latest/\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Set of widgets to build dashboards for your Django-project.",
    "version": "0.3.2",
    "project_urls": {
        "Homepage": "https://github.com/byashimov/django-controlcenter"
    },
    "split_keywords": [
        "django",
        "admin",
        "dashboard"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e28e277cf6f95c058ffec8d3cdeadfe9869f1f1444c731aefae211e17c5670dd",
                "md5": "8427de7a57bca3c46bd4cd6ed3625c8a",
                "sha256": "6602667267788f4bf692e5da130a074f1c9466104566d0ecfc4b8f2102c354e7"
            },
            "downloads": -1,
            "filename": "django_controlcenter-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8427de7a57bca3c46bd4cd6ed3625c8a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 62730,
            "upload_time": "2023-08-06T17:02:10",
            "upload_time_iso_8601": "2023-08-06T17:02:10.753884Z",
            "url": "https://files.pythonhosted.org/packages/e2/8e/277cf6f95c058ffec8d3cdeadfe9869f1f1444c731aefae211e17c5670dd/django_controlcenter-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "765de6f0ea56b9be19a3052a85716ff3cb782d61c6830a6552f0f40198f49495",
                "md5": "847671a2ea022ddcb891dbd59f4b6b09",
                "sha256": "2ff16fc02e63ee170076d9522fd19c7a539d50f0ca199919fdda321d53c91ff6"
            },
            "downloads": -1,
            "filename": "django-controlcenter-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "847671a2ea022ddcb891dbd59f4b6b09",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 54820,
            "upload_time": "2023-08-06T17:02:11",
            "upload_time_iso_8601": "2023-08-06T17:02:11.995460Z",
            "url": "https://files.pythonhosted.org/packages/76/5d/e6f0ea56b9be19a3052a85716ff3cb782d61c6830a6552f0f40198f49495/django-controlcenter-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-06 17:02:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "byashimov",
    "github_project": "django-controlcenter",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "django-controlcenter"
}
        
Elapsed time: 0.09644s