{
"info": {
"author": "Ezequiel Bertti",
"author_email": "ebertti@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Natural Language :: Portuguese (Brazilian)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "django-admin-easy\n=================\n\nCollection of admin fields, decorators and mixin to help to create computed or custom fields more friendly and easy way\n\n.. image:: https://badges.gitter.im/Join%20Chat.svg\n :alt: Join the chat at https://gitter.im/ebertti/django-admin-easy\n :target: https://gitter.im/ebertti/django-admin-easy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n.. image:: https://img.shields.io/badge/django-1.8%201.9%201.10%201.11%202.0%202.1-brightgreen.svg\n :target: http://pypi.python.org/pypi/django-admin-easy\n\n.. image:: https://img.shields.io/pypi/v/django-admin-easy.svg?style=flat\n :target: http://pypi.python.org/pypi/django-admin-easy\n\n.. image:: https://img.shields.io/pypi/pyversions/django-admin-easy.svg?maxAge=2592000\n :target: http://pypi.python.org/pypi/django-admin-easy\n\n.. image:: https://img.shields.io/pypi/format/django-admin-easy.svg?maxAge=2592000\n :target: http://pypi.python.org/pypi/django-admin-easy\n\n.. image:: https://img.shields.io/pypi/status/django-admin-easy.svg?maxAge=2592000\n :target: http://pypi.python.org/pypi/django-admin-easy\n\n.. image:: https://img.shields.io/travis/ebertti/django-admin-easy/master.svg?maxAge=2592000\n :target: https://travis-ci.org/ebertti/django-admin-easy\n\n.. image:: https://img.shields.io/requires/github/ebertti/django-admin-easy.svg?maxAge=2592000\n :target: https://requires.io/github/ebertti/django-admin-easy/requirements/\n\n.. image:: https://img.shields.io/coveralls/ebertti/django-admin-easy/master.svg?maxAge=2592000\n :target: https://coveralls.io/r/ebertti/django-admin-easy?branch=master\n\n.. image:: https://img.shields.io/codeclimate/github/ebertti/django-admin-easy.svg\n :target: https://codeclimate.com/github/ebertti/django-admin-easy\n\n.. image:: https://landscape.io/github/ebertti/django-admin-easy/master/landscape.png?style=flat\n :target: https://landscape.io/github/ebertti/django-admin-easy/master\n\nInstallation\n------------\n\n1. Requirements: **Django > 1.8** and **Python > 3.4**\n\n2. ``pip install django-admin-easy==0.5.1``\n\n\n* For **Django < 1.8** or **Python 2.x**\n\n ``pip install django-admin-easy==0.4.1``\n\n\nHow it Works\n------------\n\nWhen you want to display a field on Django Admin, and this field doesn't exist in your Model\nor you need to compute some information, like a Image or Link, you will need to create a method on your ModelAdminClass like this:\n\n.. code-block:: python\n\n from django.contrib import admin\n\n class YourAdmin(admin.ModelAdmin):\n fields = ('sum_method', 'some_img', 'is_true')\n\n def sum_method(self, obj):\n sum_result = obj.field1 + obj.field2 + obj.field3\n return '%s' % sum_result\n sum_method.short_description = 'Sum'\n sum_method.admin_order_field = 'field1'\n sum_method.allow_tags = True\n\n def some_img(self, obj):\n return '
' % obj.image\n some_img.short_description = 'image'\n some_img.admin_order_field = 'id'\n some_img.allow_tags = True\n\n def is_true(self, obj):\n return obj.value > 0\n is_true.short_description = 'Positive'\n is_true.admin_order_field = 'value'\n is_true.boolean = True\n\nIt takes too much lines! =D\n\nWith **django-admin-easy** you can easily create this field with less lines:\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n fields = ('sum_method', 'some_img', 'is_true')\n\n sum_method = easy.SimpleAdminField(lambda obj: '%s' % (obj.field1 + obj.field2 + obj.field3), 'Sum', 'field1', True)\n some_img = easy.ImageAdminField('image', 'id')\n is_true = easy.BooleanAdminField('Positive', 'value')\n\nIf you still prefer using a custom method, you can use our decorators, like this:\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n fields = ('sum_method', 'some_img', 'is_true')\n\n @easy.smart(short_description='Sum', admin_order_field='field1', allow_tags=True )\n def sum_method(self, obj):\n sum_result = obj.field1 + obj.field2 + obj.field3\n return '%s' % sum_result\n\n @easy.short(desc='image', order='id', tags=True)\n def some_img(self, obj):\n return '
' % obj.image\n\n @easy.short(desc='Positive', order='value', bool=True)\n def is_true(self, obj):\n return obj.value > 0\n\nAnother Decorators\n------------------\n\nIn all of this extra decorators, you can use `short` or `smart` arguments to complement field information.\n\n* **Allow HTML tags**\n\n.. code-block:: python\n\n @easy.with_tags()\n def some_field_with_html(self, obj):\n return '{}'.format(obj.value)\n # output some as: mark_safe(\"something\")\n\n\nif value is `5`, will display:\n\n**5** and not `5` on admin page.\n\n* **Cached field**\n\nIf you, for some reason, need to cache a custom field on admin\n\n.. code-block:: python\n\n @easy.cache(10)# in secondd, default is 60\n def some_field_with_html(self, obj):\n return obj.related.some_hard_word()\n\nIf you change something on your model, or some related object, you can clean this cache using this easy way:\n\n.. code-block:: python\n\n import easy\n # wherever you want\n easy.cache_clear(my_model_instance)\n\n # or\n class MyModel(models.Model):\n # ... fields\n\n def save(*args, **kwargs):\n easy.cache_clear(self)\n super(MyModel, self).save(*args, **kwargs)\n\n\n* **Django template filter**\n\nCan be used with all template filters on your project.\n\n.. code-block:: python\n\n # builtin template filter like {{ value|title }}\n @easy.filter('title')\n def some_field_with_html(self, obj):\n return 'ezequiel bertti'\n # output: \"Ezequiel Bertti\"\n\n # like {% load i10n %} and {{ value|localize }}\n @easy.filter('localize', 'l10n')\n def some_field_with_html(self, obj):\n return 10000\n # output: \"10.000\"\n\n # like {{ value|date:'y-m-d' }}\n @easy.filter('date', 'default', 'y-m-d')\n def some_field_with_html(self, obj):\n return datetime(2016, 06, 28)\n # output: \"16-06-28\"\n\n* **Django utils functions**\n\nTested with:\n\n.. code-block:: python\n\n @easy.utils('html.escape')\n @easy.utils('html.conditional_escape')\n @easy.utils('html.strip_tags')\n @easy.utils('safestring.mark_safe')\n @easy.utils('safestring.mark_for_escaping')\n @easy.utils('text.slugify')\n @easy.utils('translation.gettext')\n @easy.utils('translation.ugettext')\n @easy.utils('translation.gettext_lazy')\n @easy.utils('translation.ugettext_lazy')\n @easy.utils('translation.gettext_noop')\n @easy.utils('translation.ugettext_noop')\n def your_method(self, obj):\n return obj.value\n\nMore Examples\n-------------\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n list_fields = ('id', 'custom1', 'custom2', 'custom3' ... 'customN')\n\n actions = ('simples_action',)\n\n @easy.action('My Little Simple Magic Action')\n def simple_action(self, request, queryset):\n return queryset.update(magic=True)\n\n # actoin only for user that has change permission on this model\n @easy.action('Another Simple Magic Action', 'change')\n def simple_action(self, request, queryset):\n return queryset.update(magic=True)\n\n\n # render a value of field, method, property or your model or related model\n simple1 = easy.SimpleAdminField('model_field')\n simple2 = easy.SimpleAdminField('method_of_model')\n simple3 = easy.SimpleAdminField('related.attribute_or_method')\n simple4 = easy.SimpleAdminField('related_set.count', 'count')\n simple5 = easy.SimpleAdminField(lambda x: x.method(), 'show', 'order_by')\n\n # render boolean fields\n bool1 = easy.BooleanAdminField(lambda x: x.value > 10, 'high')\n\n # render with string format fields\n format1 = easy.FormatAdminField('{o.model_field} - {o.date_field:Y%-%m}', 'column name')\n\n # render foreignkey with link to change_form in admin\n fk1 = easy.ForeignKeyAdminField('related')\n\n # render foreignkey with link to change_form in admin and related_id content as text\n fk2 = easy.ForeignKeyAdminField('related', 'related_id')\n\n # render template\n template1 = easy.TemplateAdminField('test.html', 'shorty description', 'order_field')\n\n # render to change_list of another model with a filter on query\n link1 = easy.LinkChangeListAdminField('app_label', 'model_name', 'attribute_to_text',\n {'field_name':'dynamic_value_model'})\n\n link2 = easy.LinkChangeListAdminField('app_label', 'model_name', 'attribute_to_text',\n {'field_name':'dynamic_value_model'},\n {'another_field': 'static_value'})\n\n # display image of some model\n image1 = easy.ImageAdminField('image', {'image_attrs':'attr_value'})\n\n # use django template filter on a field\n filter1 = easy.FilterAdminField('model_field', 'upper')\n filter2 = easy.FilterAdminField('date_field', 'date', 'django', 'y-m-d')\n filter3 = easy.FilterAdminField('float_field', 'localize', 'l18n')\n\n @easy.smart(short_description='Field Description 12', admin_order_field='model_field')\n def custom12(self, obj):\n return obj.something_cool()\n\n @easy.short(desc='Field Description 1', order='model_field', tags=True)\n def decorator1(self, obj):\n return '' + obj.model_field + ''\n\n @easy.short(desc='Field Description 2', order='model_field', bool=True)\n def decorator2(self, obj):\n return obj.model_field > 10\n\n\nIf you want to use on admin form to show some information,\ndon't forget to add your custom field on ``readonly_fields`` attribute of your admin class\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n fields = ('custom1', 'custom2', 'custom3' ... 'customN')\n readonly_fields = ('custom1', 'custom2', 'custom3' ... 'customN')\n\n custom1 = easy.ForeignKeyAdminField('related')\n # ...\n\nAnother way to use is directly on ``list_fields`` declaration:\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n list_fields = (\n easy.TemplateAdminField('test.html', 'shorty description', 'order_field'),\n easy.ImageAdminField('image', {'image_attrs':'attr_value'}),\n # ...\n )\n\n # ...\n\nMixin\n-----\n\nTo help you to create a custom view on django admin, we create de MixinEasyView for your Admin Classes\n\n.. code-block:: python\n\n from django.contrib import admin\n import easy\n\n class MyModelAdmin(easy.MixinEasyView, admin.ModelAdmin):\n # ...\n\n def easy_view_jump(self, request, pk=None):\n # do something here\n return HttpResponse('something')\n\nTo call this view, you can use this reverse:\n\n.. code-block:: python\n\n from django.core.urlresolvers import reverse\n\n # to do something with one object of a model\n reverse('admin:myapp_mymodel_easy', args=(obj.pk, 'jump'))\n\n # or to do something with a model\n reverse('admin:myapp_mymodel_easy', args=('jump',))\n\nOr one HTML template\n\n.. code-block:: html\n\n #\n {% url 'admin:myapp_mymodel_easy' obj.pk 'jump' %}\n\n #\n {% url 'admin:myapp_mymodel_easy' 'jump' %}\n\nUtilities\n---------\n\n* Response for admin actions\n\n Return for the change list and show some message for the user keeping or not the filters.\n\n.. code-block:: python\n\n from django.contrib import admin\n from django.contrib import messages\n import easy\n\n class YourAdmin(admin.ModelAdmin):\n # ...\n actions = ('simples_action',)\n\n def simples_action(self, request, queryset):\n\n success = queryset.do_something()\n if success:\n return easy.action_response(request, 'Some success message for user', keep_querystring=False)\n else:\n return easy.action_response(request, 'Some error for user', messages.ERROR)\n\n # or just redirect to changelist with filters\n return easy.action_response()\n\nSo easy, no?\n\nScreenshot\n----------\n\nUsing example of poll of django tutorial\n\n.. image:: https://raw.githubusercontent.com/ebertti/django-admin-easy/master/screenshot/more.png\n\n.. image:: https://raw.githubusercontent.com/ebertti/django-admin-easy/master/screenshot/related.png\n\nPlease help us\n--------------\nThis project is still under development. Feedback and suggestions are very welcome and I encourage you to use the `Issues list `_ on Github to provide that feedback.\n\n.. image:: https://img.shields.io/github/issues/ebertti/django-admin-easy.svg\n :target: https://github.com/ebertti/django-admin-easy/issues\n\n.. image:: https://img.shields.io/waffle/label/ebertti/django-admin-easy/in%20progress.svg?maxAge=2592000\n :target: https://waffle.io/ebertti/django-admin-easy\n\n.. image:: https://img.shields.io/github/forks/ebertti/django-admin-easy.svg \n :target: https://github.com/ebertti/django-admin-easy/network\n\n.. image:: https://img.shields.io/github/stars/ebertti/django-admin-easy.svg\n :target: https://github.com/ebertti/django-admin-easy/stargazers\n\nAuthors\n-------\nThe django-admin-easy was originally created by Ezequiel Bertti `@ebertti `_ October 2014.\n\nChangelog\n---------\n* 0.5.1\n\n * Add permission on action decorator\n\n* 0.4.1\n\n * Django 2.0\n\n* 0.4\n\n * Django 1.11\n * Create module utils with action_response\n\n* 0.3.2\n\n * Add params_static to LinkChangeListAdminField\n\n* 0.3.1\n\n * Add FormatAdminField\n\n* 0.3\n\n * Add import from `__future__` on all files\n * Django 1.10\n * More decorators\n * More admin fields\n\n* 0.2.2\n\n * Add MixinEasyView\n\n* 0.2.1\n\n * Fix for Django 1.7 from `@kevgathuku `_\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://github.com/ebertti/django-admin-easy/",
"keywords": "admin field fields django easy simple",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "django-admin-easy",
"package_url": "https://pypi.org/project/django-admin-easy/",
"platform": "OS Independent",
"project_url": "https://pypi.org/project/django-admin-easy/",
"project_urls": {
"Homepage": "http://github.com/ebertti/django-admin-easy/"
},
"release_url": "https://pypi.org/project/django-admin-easy/0.5.1/",
"requires_dist": [
"django"
],
"requires_python": "",
"summary": "Collection of admin fields and decorators to help to create computed or custom fields more friendly and easy way",
"version": "0.5.1"
},
"last_serial": 5274155,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "7508ec00ee5cab038486d68bbf754c7b",
"sha256": "c4a1ab3b5dbf04a1af9c15b838784aa137690218029387399a94eaa0077eb1b0"
},
"downloads": -1,
"filename": "django-admin-easy-0.1.zip",
"has_sig": false,
"md5_digest": "7508ec00ee5cab038486d68bbf754c7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7835,
"upload_time": "2014-10-03T09:20:57",
"url": "https://files.pythonhosted.org/packages/cf/e5/20c2614c1ef48ae8a177d61e930ba9185091de0ed3913e5eec9509222a45/django-admin-easy-0.1.zip"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "ee306cf8a9b368f6dcc13e5c2d1f7d47",
"sha256": "637a2d04d288ad48377d5569920e0e386b83c13e0008d16f545c664289732bcb"
},
"downloads": -1,
"filename": "django-admin-easy-0.1.1.zip",
"has_sig": false,
"md5_digest": "ee306cf8a9b368f6dcc13e5c2d1f7d47",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8256,
"upload_time": "2014-10-10T18:52:56",
"url": "https://files.pythonhosted.org/packages/d0/36/a9813ef299a012fe7aff8a22898cf714ace86aa34bb8368606de1278ce29/django-admin-easy-0.1.1.zip"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "f107707a264410823dd81ccf527ac86a",
"sha256": "125c29d72f4ff1ad553abb0e31dd7ddd27bcc682d9ebd2aab73bdfb4f8c970a5"
},
"downloads": -1,
"filename": "django-admin-easy-0.1.5.zip",
"has_sig": false,
"md5_digest": "f107707a264410823dd81ccf527ac86a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8890,
"upload_time": "2014-10-13T04:38:32",
"url": "https://files.pythonhosted.org/packages/56/ea/b223f2d009de6e842d21460f356b3591242187db9e8e6849547e6be39cb0/django-admin-easy-0.1.5.zip"
}
],
"0.1.6": [
{
"comment_text": "",
"digests": {
"md5": "b90323dd88e8b53cf48e0dc0c2c38bbc",
"sha256": "39a85b2997c3a110419689a5d2b4f48ba00a1fe9b9bc8c1158cb9d7eade3bc82"
},
"downloads": -1,
"filename": "django-admin-easy-0.1.6.zip",
"has_sig": false,
"md5_digest": "b90323dd88e8b53cf48e0dc0c2c38bbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10994,
"upload_time": "2014-10-31T03:52:08",
"url": "https://files.pythonhosted.org/packages/04/e2/259aca11bb92b14146f997b6e82e8d7813250fb0ef4851e15708342f0f76/django-admin-easy-0.1.6.zip"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "0cc3da75e80b201d37bf242adc01c140",
"sha256": "66baad7cd6c9ecc9d4d49d9420f0b260b2b6a959343f4d9fb65580a0ab5dafb9"
},
"downloads": -1,
"filename": "django-admin-easy-0.2.zip",
"has_sig": false,
"md5_digest": "0cc3da75e80b201d37bf242adc01c140",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13313,
"upload_time": "2014-12-01T05:10:15",
"url": "https://files.pythonhosted.org/packages/13/9d/2e39ce0fc7a5fa591536db5ccf4de025f17cdc03eb0a691bfc3e08ec2927/django-admin-easy-0.2.zip"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "baf92db1f7106b03c356179308ec3424",
"sha256": "68972c95d67adfa9be3d647eef6cd41cb34f6d543c7fd8b5e32129b67ddb5a89"
},
"downloads": -1,
"filename": "django-admin-easy-0.2.1.zip",
"has_sig": false,
"md5_digest": "baf92db1f7106b03c356179308ec3424",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13581,
"upload_time": "2014-12-30T23:59:10",
"url": "https://files.pythonhosted.org/packages/5d/60/f19d19369acee7af979b0b90ddb131ba4ba8e14f1bf25de242054738851d/django-admin-easy-0.2.1.zip"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "6b88d83cfc0a5a86f9ea224d97a4f24d",
"sha256": "a947f8e6e9a89357b31de5003a08e8bcd4f76d5a0cdb63ac3cfd4b7f295ec0a3"
},
"downloads": -1,
"filename": "django-admin-easy-0.2.2.zip",
"has_sig": false,
"md5_digest": "6b88d83cfc0a5a86f9ea224d97a4f24d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14940,
"upload_time": "2015-02-14T02:48:02",
"url": "https://files.pythonhosted.org/packages/f5/67/29bfb50589da389352d3472914240391537e915db6796ae706b6b1f77ee7/django-admin-easy-0.2.2.zip"
}
],
"0.2.2.1": [
{
"comment_text": "",
"digests": {
"md5": "4c502cec0bc3fae15532a5b40e75bea8",
"sha256": "9a5b995403a9eff4742cfa9899856ab1aedd43e5e3ff78a3f51a520867bcc111"
},
"downloads": -1,
"filename": "django-admin-easy-0.2.2.1.zip",
"has_sig": false,
"md5_digest": "4c502cec0bc3fae15532a5b40e75bea8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15682,
"upload_time": "2015-02-14T19:44:20",
"url": "https://files.pythonhosted.org/packages/8a/cb/095eb970ccb8f7c77cc65d1a935cec817e316e873b168124d49b8bd51877/django-admin-easy-0.2.2.1.zip"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "059ad2329b04ccf251da7014bff57a2f",
"sha256": "0bfd96cbbd75114716bc8b25c0e7d64d4ad17dea9bff99c13bf46e8f83984b70"
},
"downloads": -1,
"filename": "django-admin-easy-0.3.zip",
"has_sig": false,
"md5_digest": "059ad2329b04ccf251da7014bff57a2f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21380,
"upload_time": "2016-06-27T03:12:45",
"url": "https://files.pythonhosted.org/packages/50/dd/35f9ad24744bad309cc51679ee0178f23860d8c9e6bdbf9f4a0de64f8a0a/django-admin-easy-0.3.zip"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "30b51e51a8081580fb022bed15db7879",
"sha256": "de674b89806aa5c6320478e2ab3cc575e3832eab7bb8ee2c5eda93dbdcb5236b"
},
"downloads": -1,
"filename": "django-admin-easy-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "30b51e51a8081580fb022bed15db7879",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16767,
"upload_time": "2016-11-22T23:25:05",
"url": "https://files.pythonhosted.org/packages/54/61/e7108b9185f54b991f47d20e4c86a6028e8f53703568df0265922dbcbb5a/django-admin-easy-0.3.1.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "774cca0ff98467d539a69dfe168da806",
"sha256": "0ff5f36c11a894e567ca775ac3aff7764d1e3bac6202e429d62958c605e92a6e"
},
"downloads": -1,
"filename": "django-admin-easy-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "774cca0ff98467d539a69dfe168da806",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16964,
"upload_time": "2016-12-26T00:49:27",
"url": "https://files.pythonhosted.org/packages/e0/05/8ecc742f2b2c190615acb29c0738d550574e2fae0a698d937b5aa5ec1e85/django-admin-easy-0.3.2.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "a261840198edb6099fce7d141a04218f",
"sha256": "cd7a41078f127acb570ee6578710314319b0dc91ab1d1f8e3b3fa7acfb21c7b7"
},
"downloads": -1,
"filename": "django-admin-easy-0.4.tar.gz",
"has_sig": false,
"md5_digest": "a261840198edb6099fce7d141a04218f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17910,
"upload_time": "2017-08-31T22:03:57",
"url": "https://files.pythonhosted.org/packages/91/b9/24f8ebbedf195aac18a48da19b449d25b0a8674bc3319c56be2bee88b1c5/django-admin-easy-0.4.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "4dc42416b1dcea8de8d082fd7b01acfa",
"sha256": "1c40045f08add26eddbf8b59a1b463263dec4a2d92ca2f83eee8149d8994a6b5"
},
"downloads": -1,
"filename": "django_admin_easy-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4dc42416b1dcea8de8d082fd7b01acfa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18686,
"upload_time": "2018-01-24T16:27:39",
"url": "https://files.pythonhosted.org/packages/21/96/91281a69170858caf31a12f8b35b81e9153a301bc6a65bc3b4909cfabe4c/django_admin_easy-0.4.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3d4a443a050fb0462a6737d8e3140ffd",
"sha256": "1c6f5af2fa37d7b85f360a59f0ffa8f43fc2ef8dd3feeeab9d81b492aedabfde"
},
"downloads": -1,
"filename": "django-admin-easy-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "3d4a443a050fb0462a6737d8e3140ffd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16053,
"upload_time": "2018-01-24T16:27:40",
"url": "https://files.pythonhosted.org/packages/89/28/5f480d9610b75dbf7ddd171c55757535c7d331e911dbc229d21a7a430392/django-admin-easy-0.4.1.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "954c3e6c57f252d9b29f856974fade08",
"sha256": "94ff1b3a7df2619d25dd89cf562391e36ce74d997276f6cc63b5a0867baf42f8"
},
"downloads": -1,
"filename": "django_admin_easy-0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "954c3e6c57f252d9b29f856974fade08",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14269,
"upload_time": "2018-09-15T22:31:49",
"url": "https://files.pythonhosted.org/packages/e5/d4/894bf753b851b9e7f7e0c5689ce39c776be6c02a3866d60ecce3450666d7/django_admin_easy-0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f7cae63edf4a82af4a3cdd5d60e54a6e",
"sha256": "2c16c7379119a2155124436f9bd80581c2b08e5368bccbd65c83aca3e58fe4e3"
},
"downloads": -1,
"filename": "django-admin-easy-0.5.tar.gz",
"has_sig": false,
"md5_digest": "f7cae63edf4a82af4a3cdd5d60e54a6e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16547,
"upload_time": "2018-09-15T22:31:51",
"url": "https://files.pythonhosted.org/packages/1b/db/1b58d68f8b699715d1a7aba70b8ec08083ee6dae4a4ceeb8d1dc130d9f9b/django-admin-easy-0.5.tar.gz"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "d0d78493298a6d8a3c7ba07c66589835",
"sha256": "e2ec5dd5f6ca1862af2d37e68244defdc471e3844aec69f97664252af3e73201"
},
"downloads": -1,
"filename": "django_admin_easy-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0d78493298a6d8a3c7ba07c66589835",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14477,
"upload_time": "2019-05-15T19:59:01",
"url": "https://files.pythonhosted.org/packages/0d/cc/65ec041934e1596fbd8d9e1b92b2df000959e301ec59eab8d985da80946d/django_admin_easy-0.5.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4cbb7b9456baa69a73a7fc0b92c0bc78",
"sha256": "cf756dc3af67f6ddff751debcc186f4fca25f919a524b48a4562ed59cd3b8cdc"
},
"downloads": -1,
"filename": "django-admin-easy-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "4cbb7b9456baa69a73a7fc0b92c0bc78",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16812,
"upload_time": "2019-05-15T19:59:05",
"url": "https://files.pythonhosted.org/packages/b6/3b/6dc7cfd29f231d4de322613d699f0b6a6d184de428e1b18d51c8834e07cc/django-admin-easy-0.5.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "d0d78493298a6d8a3c7ba07c66589835",
"sha256": "e2ec5dd5f6ca1862af2d37e68244defdc471e3844aec69f97664252af3e73201"
},
"downloads": -1,
"filename": "django_admin_easy-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0d78493298a6d8a3c7ba07c66589835",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14477,
"upload_time": "2019-05-15T19:59:01",
"url": "https://files.pythonhosted.org/packages/0d/cc/65ec041934e1596fbd8d9e1b92b2df000959e301ec59eab8d985da80946d/django_admin_easy-0.5.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4cbb7b9456baa69a73a7fc0b92c0bc78",
"sha256": "cf756dc3af67f6ddff751debcc186f4fca25f919a524b48a4562ed59cd3b8cdc"
},
"downloads": -1,
"filename": "django-admin-easy-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "4cbb7b9456baa69a73a7fc0b92c0bc78",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16812,
"upload_time": "2019-05-15T19:59:05",
"url": "https://files.pythonhosted.org/packages/b6/3b/6dc7cfd29f231d4de322613d699f0b6a6d184de428e1b18d51c8834e07cc/django-admin-easy-0.5.1.tar.gz"
}
]
}