{ "info": { "author": "Daniel Greenfeld & Contributors", "author_email": "pydanny@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: JavaScript", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=============\ndjango-admin2\n=============\n\n.. image:: https://jazzband.co/static/img/badge.svg\n :target: https://jazzband.co/\n :alt: Jazzband\n.. image:: https://travis-ci.org/jazzband/django-admin2.png\n :alt: Build Status\n :target: https://travis-ci.org/jazzband/django-admin2\n.. image:: https://coveralls.io/repos/github/jazzband/django-admin2/badge.svg?branch=develop\n :alt: Coverage Status\n :target: https://coveralls.io/github/jazzband/django-admin2?branch=develop\n.. image:: https://badges.gitter.im/Join Chat.svg\n :target: https://gitter.im/pydanny/django-admin2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\nOne of the most useful parts of ``django.contrib.admin`` is the ability to\nconfigure various views that touch and alter data. django-admin2 is a complete\nrewrite of that library using modern Class-Based Views and enjoying a design\nfocused on extendibility and adaptability. By starting over, we can avoid the\nlegacy code and make it easier to write extensions and themes.\n\nFull Documentation at: https://django-admin2.readthedocs.io/\n\nFeatures\n========\n\n* Rewrite of the Django Admin backend\n* Drop-in themes\n* Built-in RESTful API\n\nRequirements\n============\n\n* Django 1.7+\n* Python 2.7+ or Python 3.3+\n* django-braces_\n* django-extra-views_\n* django-rest-framework_\n* django-filter_\n* Sphinx_ (for documentation)\n\n.. _django-braces: https://github.com/brack3t/django-braces\n.. _django-extra-views: https://github.com/AndrewIngram/django-extra-views\n.. _django-rest-framework: https://github.com/tomchristie/django-rest-framework\n.. _django-filter: https://github.com/alex/django-filter\n.. _Sphinx: http://sphinx-doc.org/\n\n\n\nInstallation\n============\n\nUse pip to install from PyPI:\n\n.. code-block:: python\n\n pip install django-admin2\n\nAdd djadmin2 and rest_framework to your settings file:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'djadmin2',\n 'rest_framework', # for the browsable API templates\n ...\n )\n\nAdd setting for apps and the default theme in your settings file:\n\n.. code-block:: python\n\n # In settings.py\n INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)\n REST_FRAMEWORK = {\n 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',\n 'PAGE_SIZE': 10\n }\n ADMIN2_THEME_DIRECTORY = \"djadmin2theme_bootstrap3\"\n\nAdd djadmin2 urls to your URLconf:\n\n.. code-block:: python\n\n # urls.py\n from django.conf.urls import include\n\n from djadmin2.site import djadmin2_site\n\n djadmin2_site.autodiscover()\n\n urlpatterns = [\n ...\n url(r'^admin2/', include(djadmin2_site.urls)),\n ]\n\n\nHow to write django-admin2 modules\n==================================\n\n.. code-block:: python\n\n # myapp/admin2.py\n # Import your custom models\n from django.contrib.auth.forms import UserCreationForm, UserChangeForm\n from django.contrib.auth.models import User\n from djadmin2.site import djadmin2_site\n from djadmin2.types import ModelAdmin2\n\n from .models import Post, Comment\n\n\n class UserAdmin2(ModelAdmin2):\n # Replicates the traditional admin for django.contrib.auth.models.User\n create_form_class = UserCreationForm\n update_form_class = UserChangeForm\n\n\n # Register each model with the admin\n djadmin2_site.register(Post)\n djadmin2_site.register(Comment)\n djadmin2_site.register(User, UserAdmin2)\n\nMigrating from 0.6.x\n====================\n\n- The default theme has been updated to bootstrap3, be sure to replace your reference to the new one.\n- Django rest framework also include multiple pagination system, the only one supported now is the PageNumberPagination.\n\nTherefore, your `settings` need to include this:\n\n.. code-block:: python\n\n # In settings.py\n INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)\n ADMIN2_THEME_DIRECTORY = \"djadmin2theme_bootstrap3\"\n\n REST_FRAMEWORK = {\n 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',\n 'PAGE_SIZE': 10\n }\n\nThe default admin2 site has move into djadmin2.site make sure your use the news djadmin2_site in your urls.py:\n\n.. code-block:: python\n\n # urls.py\n from django.conf.urls import include\n\n from djadmin2.site import djadmin2_site\n\n djadmin2_site.autodiscover()\n\n urlpatterns = [\n ...\n url(r'^admin2/', include(djadmin2_site.urls)),\n ]\n\nMigrating from 0.5.x\n====================\n\nThemes are now defined explicitly, including the default theme. Therefore, your `settings` need to include this:\n\n.. code-block:: python\n\n # In settings.py\n INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_default',)\n ADMIN2_THEME_DIRECTORY = \"djadmin2theme_default\"\n\nDrop-In Themes\n==============\n\nThe default theme is whatever bootstrap is most current. Specifically:\n\n.. code-block:: python\n\n # In settings.py\n INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)\n ADMIN2_THEME_DIRECTORY = \"djadmin2theme_bootstrap3\"\n\nIf you create a new theme, you define it thus:\n\n.. code-block:: python\n\n # In settings.py\n # Mythical theme! This does not exit... YET!\n INSTALLED_APPS += ('djadmin2theme_foundation',)\n ADMIN2_THEME_DIRECTORY = \"djadmin2theme_foundation\"\n\n\nCode of Conduct\n======================\n\nEveryone interacting in the django-admin2 project's codebases, issue trackers, chat\nrooms, and mailing lists is expected to follow the `Jazzband Code of Conduct`_.\n\n.. _`Jazzband Code of Conduct`: https://jazzband.co/about/conduct\n\nFollows Best Practices\n======================\n\n.. image:: http://twoscoops.smugmug.com/Two-Scoops-Press-Media-Kit/i-C8s5jkn/0/O/favicon-152.png\n :name: Two Scoops Logo\n :align: center\n :alt: Two Scoops of Django\n :target: http://twoscoopspress.org/products/two-scoops-of-django-1-8\n\nThis project follows best practices as espoused in `Two Scoops of Django: Best Practices for Django 1.8`_.\n\n.. _`Two Scoops of Django: Best Practices for Django 1.8`: http://twoscoopspress.org/products/two-scoops-of-django-1-8\n\n\nHistory\n=========\n\n0.7.0 (2016-11-16)\n\n* Fix Django 1.8 issues and add 1.9, 1.10 compatibility\n* Update django-rest-framework to 3.3.x\n* Remove django-crispy-forms and django-floppyforms\n* Regenerate example project to make it django 1.9 compatible\n* Update tox and travis and add flake8\n* Rename AdminModel2Mixin to Admin2ModelMixin\n* Add migrations \n* remove south migrations\n* Replace IPAddressField with GenericIPAddressField\n* Fix password link in user admin\n* Fix user logout on password change\n* Fix tests\n* Drop support of django versions lower then 1.8\n* Drop older url.patterns\n\n\n\n0.6.1 (2014-02-26)\n\n * Fix empty form display\n * Added more explicit installation instructions\n * Added migration instructions\n * Added view descriptions for \"registry\" and \"app_verbose_names\"\n * Show a nice message and margin if there are no visible fields\n * Updated widget controls for Django 1.6 changes.\n * Better error messages for admin views that fail to instantiate\n * Added png glyphicons to MANIFEST\n\n0.6.0 (2013-09-12)\n\n * Implemented LogHistory to track recent history\n * New system for adding new views to ModelAdmin2 object\n * Fixed missing enctype=\"multipart/form-data\" functionality\n * Implemented \"app verbose name\"\n * Apps can have customized names\n * List Actions can be set so they don't require selecting a model\n * Implemented ModelAdmin2.ordering\n * To maintain API consistency, renamed views.AdminView's \"url\" argument to \"regex\" \n * Implemented ModelAdmin2.date_hierarchy\n * Changed theming system to make default theme follow the same rules as third-party themes.\n * Inlines now separated into stacked and tabular formats\n * Code coverage now displaying in README\n * User list page now showing all default columns and filters\n * Vast documentation improvements\n * Converted to ``django.utils.encoding.force_str`` instead ``unicode`` in order to type edge cases\n * setup.py fix\n\n0.5.1 (2013-07-14)\n\n * No longer pinning dependencies on specific versions\n * `Documentation on built-in views`_ shows context variables.\n * Added django-filter to dependency list\n * Problem with related_name resolved\n * Fixed the height of the change_form\n * Example app actually shows added content\n * Pull requests going forward are internationalized_\n * FAQ_ begun\n\n.. _`internationalized`: https://django-admin2.readthedocs.io/en/latest/contributing.html#internationalize\n.. _`Documentation on built-in views`: https://django-admin2.readthedocs.io/en/latest/ref/built-in-views.html\n.. _faq: https://django-admin2.readthedocs.io/en/latest/faq.html\n\n0.5.0 (2013-07-08)\n\n * Implemented customizable value renderers\n * Implemented list filters using django-filters. Greatly supersedes what Django provides.\n * Implemented ModelAdmin2.save_on_top and ModelAdmin2.save_on_bottom\n * Implemented BooleanField icons for List and Detail views\n * Implemented default ``django.contrib.auth`` and ``django.contrib.sites`` registrations\n * Implemented the displayed of verbose field/method names in list view\n * Implemented client-side ordering of model list fields in default theme\n * Implemented improved internal naming conventions\n * Improved example project home page\n * Improved internal test coverage\n * Documentation for Context Variables in Themes\n * Corrected early nomenclature decisions\n * Much improved Internationalization\n * Added django-admin2 to Transifex\n * Translations for French, Polish, Slovak, Chinese, German, Catalan, Italian, and Spanish.\n\n0.4.0 (2013-06-30)\n\n * Implemented both Function- and Class-based Action views\n * Implemented ModelAdmin2.list_display\n * Implemented ModelAdmin2.fieldsets\n * Dropdown widget now displays the selected choice\n * Added support for callables in ModelAdmin2.list_display\n * Added screenshots to README\n * Added second example project\n * Fixed breadcrumbs\n * Default theme: Proper closing of template and media blocks\n * Default theme: Standardized indentation in default theme templates\n * Default theme: Pointed to CDN for JQuery\n * Default theme: Added basic style for login form\n * Default theme: Internationalized all text strings\n\n\n0.3.0 (2013-05-31)\n\n * HTML5 forms via floppyforms.\n * Many API improvements.\n * Added Breadcrumbs.\n * Added Login, Logout, ChangePassword views.\n * Added Actions.\n * Added support for inlines.\n * Added view based permission controls\n * Implement delete confirmations for child models.\n * Testrunner now can run on a specific test set or module.\n * Internal code refactoring to follow standards.\n * Moved to git-flow for accepting pull requests.\n * Model create/update pages now have save options.\n * Added i18n to all templates, much of internal code.\n * All print statements replaced with proper logging.\n * Design goals specified in the documentation.\n\n0.2.0 (2013-05-19)\n\n * Birth! (Working Prototype)\n * Easy-to-extend API that follows similar patterns to django.contrib.admin.\n * Built-in RESTFUL API powered by django-rest-framework.\n * Default theme built on Twitter Bootstrap.\n * Easy to implement theme system.\n * Basic permission controls.\n * Testrunner\n * Documentation\n\n0.1.1 (2013-05-17)\n\n * Code adoption from django-mongonaut.\n * Preperation for Django Circus sprints.\n\n0.1 (2013-05-13)\n\n * Discussion with Russell Keith-Magee.\n * Inception.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://djangoadmin.org", "keywords": "django,admin", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-admin2", "package_url": "https://pypi.org/project/django-admin2/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-admin2/", "project_urls": { "Homepage": "http://djangoadmin.org" }, "release_url": "https://pypi.org/project/django-admin2/0.7.1/", "requires_dist": [ "django (>=1.8.0)", "django-extra-views (==0.8.0)", "django-braces (>=1.3.0)", "djangorestframework (<=3.5.3)", "django-filter (==1.0.0)", "pytz (==2016.4)", "future (>=0.15.2)", "pytest; extra == 'testing'", "pytest-django; extra == 'testing'", "pytest-ipdb; extra == 'testing'" ], "requires_python": "", "summary": "An introspective interface for Django's ORM.", "version": "0.7.1" }, "last_serial": 2565210, "releases": { "0.5.0": [ { "comment_text": "", "digests": { "md5": "6b2e2b62c3654da523ba1666769c62f2", "sha256": "7b15de76df17a1881430aa480cd08a8eceb65e215d6ab85bf936abab35e00933" }, "downloads": -1, "filename": "django-admin2-0.5.0.tar.gz", "has_sig": false, "md5_digest": "6b2e2b62c3654da523ba1666769c62f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97490, "upload_time": "2013-07-09T12:23:50", "url": "https://files.pythonhosted.org/packages/e5/01/f1b73e43dc8232ebc4e59efc6b64880f03f45aa5097db1be007605323bfe/django-admin2-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "c6c62675b371ca449206a42d1f1deac9", "sha256": "8d313b32ab1281ae1b5a7ae07cc4f34d5e2507ff0bbc646112df4d594a34a44d" }, "downloads": -1, "filename": "django-admin2-0.5.1.tar.gz", "has_sig": false, "md5_digest": "c6c62675b371ca449206a42d1f1deac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97679, "upload_time": "2013-07-14T09:53:11", "url": "https://files.pythonhosted.org/packages/fc/59/abe91b5c752125f8cf6c23ffb513baab87462a96e0f9d244dfb75e26267d/django-admin2-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "a46830ba17c3f00a0d94908ab99d463e", "sha256": "9cd3bad669f288d2ca961045dba9cbddde5f16d0ec44792767574d3994cf3b6e" }, "downloads": -1, "filename": "django-admin2-0.5.2.tar.gz", "has_sig": false, "md5_digest": "a46830ba17c3f00a0d94908ab99d463e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97987, "upload_time": "2013-07-14T13:29:47", "url": "https://files.pythonhosted.org/packages/51/8c/fa62ac69b55767526dce916f9c218be22fce672c034f0bdd3ab989467543/django-admin2-0.5.2.tar.gz" } ], "0.6.0rc1": [ { "comment_text": "", "digests": { "md5": "2822e49a0683fe5c05216757c54ee179", "sha256": "1ccfeaa8d26bd377dff795ebcb559fd78e69b1b4be22c7b1b7cc8fb013aeabc8" }, "downloads": -1, "filename": "django-admin2-0.6.0rc1.tar.gz", "has_sig": false, "md5_digest": "2822e49a0683fe5c05216757c54ee179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104828, "upload_time": "2013-09-12T14:37:18", "url": "https://files.pythonhosted.org/packages/e2/60/4398676fac6ed371002576bf289a26af7be6e7546b6501ba8ac0a2e8664c/django-admin2-0.6.0rc1.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "5690a56680dc5a0ee2e3e163b6e6f4df", "sha256": "d937e060d66fa6c770eefe9483e1a1d2946aa1dba0dafc47a8a065307bc7f7cb" }, "downloads": -1, "filename": "django_admin2-0.6.1-py2-none-any.whl", "has_sig": false, "md5_digest": "5690a56680dc5a0ee2e3e163b6e6f4df", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 145882, "upload_time": "2016-11-13T07:28:10", "url": "https://files.pythonhosted.org/packages/62/9e/7df9db914bd3275f28a9ea6b660623e0f509e5ecec7773483bd2d30bc9cf/django_admin2-0.6.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "893393fc624b8a18558a1875f3927f5e", "sha256": "116d2dedab45f2138da30db57586589b8697bf16585905e9ef7e101b3c4a1269" }, "downloads": -1, "filename": "django-admin2-0.6.1.tar.gz", "has_sig": false, "md5_digest": "893393fc624b8a18558a1875f3927f5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129312, "upload_time": "2014-02-26T18:15:15", "url": "https://files.pythonhosted.org/packages/44/15/3e740fc6c7b1d1d9c12c0c2c72b19eae58f9c68bcfaf311772fe964d878a/django-admin2-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "01990a5ae0a57237216fc66939e40609", "sha256": "d9d38da93d701e7017ad9d38f049c42162e7fe9de4673e2a7f785205fcf23173" }, "downloads": -1, "filename": "django_admin2-0.7.0-py2-none-any.whl", "has_sig": false, "md5_digest": "01990a5ae0a57237216fc66939e40609", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 145993, "upload_time": "2016-11-15T20:51:58", "url": "https://files.pythonhosted.org/packages/3c/b4/e24f74c8a7991ddfb994040ada6c4d1d5b08029d92fe82e23fa5b7fcfabd/django_admin2-0.7.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e7c30f611f2f64173cb72654317780b", "sha256": "2c19afc5a5635855e1b30a4da5c852692b0bc2687d7b7ea1f7339574b9e0ab74" }, "downloads": -1, "filename": "django-admin2-0.7.0.tar.gz", "has_sig": false, "md5_digest": "1e7c30f611f2f64173cb72654317780b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122297, "upload_time": "2016-11-15T20:52:01", "url": "https://files.pythonhosted.org/packages/55/e1/6fd804b28db531c3a94689c4bedadd632cb33f38ba8f98edbb64b50bb51a/django-admin2-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "e5707fd4140ff1141de594cc7ff9ba0a", "sha256": "b0e268c12a63adcc1af78fe7dc446e1503cd065511a363012b97692a5d3241ac" }, "downloads": -1, "filename": "django_admin2-0.7.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e5707fd4140ff1141de594cc7ff9ba0a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 146066, "upload_time": "2017-01-10T17:47:14", "url": "https://files.pythonhosted.org/packages/80/0c/5064cba6f6a3f547e30dac319360b0cee7094aa38f5025ebcfc1df805d8e/django_admin2-0.7.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "faf1956dcd3c7698ed9e661d11eadb43", "sha256": "8a9e4e4fd55098f6e4425bc8a34e7a3d35af81476a750da77972c452e6452c72" }, "downloads": -1, "filename": "django-admin2-0.7.1.tar.gz", "has_sig": false, "md5_digest": "faf1956dcd3c7698ed9e661d11eadb43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122356, "upload_time": "2017-01-10T17:47:16", "url": "https://files.pythonhosted.org/packages/3c/87/51f8e5b499e7eb0cdfd7d20678ebe976a04f86ba125ec9b298382ff18c45/django-admin2-0.7.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e5707fd4140ff1141de594cc7ff9ba0a", "sha256": "b0e268c12a63adcc1af78fe7dc446e1503cd065511a363012b97692a5d3241ac" }, "downloads": -1, "filename": "django_admin2-0.7.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e5707fd4140ff1141de594cc7ff9ba0a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 146066, "upload_time": "2017-01-10T17:47:14", "url": "https://files.pythonhosted.org/packages/80/0c/5064cba6f6a3f547e30dac319360b0cee7094aa38f5025ebcfc1df805d8e/django_admin2-0.7.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "faf1956dcd3c7698ed9e661d11eadb43", "sha256": "8a9e4e4fd55098f6e4425bc8a34e7a3d35af81476a750da77972c452e6452c72" }, "downloads": -1, "filename": "django-admin2-0.7.1.tar.gz", "has_sig": false, "md5_digest": "faf1956dcd3c7698ed9e661d11eadb43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122356, "upload_time": "2017-01-10T17:47:16", "url": "https://files.pythonhosted.org/packages/3c/87/51f8e5b499e7eb0cdfd7d20678ebe976a04f86ba125ec9b298382ff18c45/django-admin2-0.7.1.tar.gz" } ] }