{ "info": { "author": "rouk1", "author_email": "matthieu.jouis@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP" ], "description": "Django image renderer\n=====================\n\n|Build Status| |Coverage| |PyPI Version|\n\nDjango image renderer is an app that will help you render images in many\nsizes (renditions). This can be really helpful for generating images\nsize for different screens resolution (especially when targeting\nmobile).\n\n--------------\n\nFeatures\n--------\n\n- uses `Pillow `__ to resize\n images\n- uses Django's *default\\_storage* to let you play with whatever\n storage backend you'll need\n- uploaded image files named using uuid\n- rendition cached on disk\n- resize keeping original aspect ratio\n- crop if needed\n- simple widget for admin site\n\nQuick start\n-----------\n\nInstall the app.\n\n.. code:: sh\n\n pip install django-image-renderer\n\nAdd \"renderer\" to your INSTALLED\\_APPS setting like this:\n\n*settings.py*\n\n.. code:: python\n\n INSTALLED_APPS = (\n # your apps\n 'renderer',\n )\n\nInclude the renderer URL configuration in your project *urls.py* like\nthis:\n\n*urls.py*\n\n.. code:: python\n\n url(r'^renderer/', include('renderer.urls', namespace='renderer')),\n\nRun ``python manage.py migrate`` to create the renderer models.\n\nStart the development server and visit http://localhost:8000/admin/ to\ncreate a MasterImage (you'll need the Admin app enabled).\n\nRequirements\n------------\n\n- Python (2.7, 3.4, 3.5)\n- Django (1.7, 1.8, 1.9)\n\nUsage\n-----\n\nThere is only one model in the app: *MasterImage*. With a *MasterImage*\nyou can ask for renditions.\n\n.. code:: python\n\n m = MasterImage.objects.first()\n\n # get the master file's URL\n m.get_master_url()\n # or\n m.get_rendition_url(0, 0)\n\n # cache and return URL of a renditions that as 200 pixels width\n # and height computed according to master's aspect ratio\n url = m.get_rendition_url(200, 0)\n\n # cache and return URL of a renditions that as 50 pixels height\n # and width computed according to master's aspect ratio\n url = m.get_rendition_url(0, 50)\n\nIf you ask for a size that do not fit master's aspect ration you'll\nreceive a center cropped image.\n\nYou can also ask for a rendition in templates.\n\n*models.py*\n\n.. code:: python\n\n def index(request):\n m = MasterImage.objects.first()\n return render(request, 'demo/index.html', {\n 'master': m,\n })\n\n*index.html*\n\n.. code:: html+django\n\n {% load renderer %}\n ...\n {% rendition master 42 42 %}\n ...\n {% rendition_url 42 42 %}\n ...\n\nThis will render as:\n\n.. code:: html\n\n \"\"\n ...\n /media/img/0fb34de8-9d83-456a-828b-72ab21f8ebab_42x42.png\n ...\n\nWhen using *MasterImage* in your model you may need a widget who\nprovides a preview for you image. For convenience a mixin is provided.\n\n*models.py*\n\n.. code:: python\n\n from django.db import models\n\n class DemoModel(models.Model):\n master = models.ForeignKey('renderer.MasterImage')\n\n*admin.py*\n\n.. code:: python\n\n from demo.models import DemoModel\n from django.contrib import admin\n from renderer.widgets import MasterImageAdminMixin\n\n @admin.register(DemoModel)\n class DemoModelAdmin(MasterImageAdminMixin, admin.ModelAdmin):\n fields = ('master', )\n\nSample project\n--------------\n\nA sample project is available in the\n`sample `__\nfolder. Test it as an usual Django project:\n\n.. code:: sh\n\n virtualenv --no-site-packages venv\n source venv/bin/activate\n pip install -r requirements.txt\n python sample/manage.py migrate\n python sample/manage.py createsuperuser\n python sample/manage.py runserver\n\nIt' also deployed at http://django-image-renderer.herokuapp.com/.\n\n.. |Build Status| image:: https://travis-ci.org/rouk1/django-image-renderer.svg?branch=master\n :target: https://travis-ci.org/rouk1/django-image-renderer\n.. |Coverage| image:: https://codecov.io/github/rouk1/django-image-renderer/coverage.svg?branch=master\n :target: https://codecov.io/github/rouk1/django-image-renderer?branch=master\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/django-image-renderer.svg\n :target: https://pypi.python.org/pypi/django-image-renderer", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rouk1/django-image-renderer", "keywords": "", "license": "WTFPL", "maintainer": "", "maintainer_email": "", "name": "django-image-renderer", "package_url": "https://pypi.org/project/django-image-renderer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-image-renderer/", "project_urls": { "Homepage": "https://github.com/rouk1/django-image-renderer" }, "release_url": "https://pypi.org/project/django-image-renderer/0.1.3/", "requires_dist": [ "Pillow (>=3.0.0)", "django-picklefield (>=0.3.2)" ], "requires_python": "", "summary": "render image in various sizes", "version": "0.1.3" }, "last_serial": 2414692, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "79611401e2e47baf9776b562972ecd3d", "sha256": "1acb300fc39922946c666e9dceb080b3b90cd742acbece107d5e8d5c23f200ee" }, "downloads": -1, "filename": "django_image_renderer-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "79611401e2e47baf9776b562972ecd3d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12832, "upload_time": "2015-11-14T15:44:29", "url": "https://files.pythonhosted.org/packages/c3/36/0074da77075801152b95eb6cc0ae94e02078b40eb8302d255cf6020d1ff4/django_image_renderer-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04abe982c3e05d4d2135410f9840f2c9", "sha256": "d1b8e910de0984e6e25db004f29eab7daeb5fb32856f87ceb94a00cafeaa9e30" }, "downloads": -1, "filename": "django-image-renderer-0.1.0.tar.gz", "has_sig": false, "md5_digest": "04abe982c3e05d4d2135410f9840f2c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10977, "upload_time": "2015-11-14T15:44:35", "url": "https://files.pythonhosted.org/packages/47/44/07b2faf5cad4ca089ed6f4b12ddd3a27975801f0c93ce22bf3b876878079/django-image-renderer-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f4d7e70c1d1e1909427536b72d78723d", "sha256": "2eeb3788f9889ae7adcce75f059f27dd6878ce77d2a24393f114f105616b515d" }, "downloads": -1, "filename": "django_image_renderer-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4d7e70c1d1e1909427536b72d78723d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16055, "upload_time": "2015-11-15T15:30:23", "url": "https://files.pythonhosted.org/packages/96/61/f093a2b0a5366f0712256274e6bfd2aee03eebcbdc0669b42c5416defe1d/django_image_renderer-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19e9748daba433b1624bdbefb02ca6bb", "sha256": "38ec40efd79895bca7ea296e3f7249cdf49110eaef49296e1c9547b4405a6fe3" }, "downloads": -1, "filename": "django-image-renderer-0.1.1.tar.gz", "has_sig": false, "md5_digest": "19e9748daba433b1624bdbefb02ca6bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11677, "upload_time": "2015-11-15T15:30:28", "url": "https://files.pythonhosted.org/packages/63/4e/b47d74f352143d7a48d70fd51aaa9a1ac5e76f295a39afdafd6e1d4960dd/django-image-renderer-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "df9ddaa660483b401cd86bf4c2657fcb", "sha256": "bd6675e559ecacb40bcd5e366564d877c53b19235141c47db2c6d1d3411b9811" }, "downloads": -1, "filename": "django_image_renderer-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df9ddaa660483b401cd86bf4c2657fcb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16529, "upload_time": "2015-12-17T19:26:31", "url": "https://files.pythonhosted.org/packages/d4/37/d1cebb7f68e432e02b2377a768874ba6208ecea3eefd01e886b48b5f4f99/django_image_renderer-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "844490b8a05d2619a14369909b9e8e32", "sha256": "f6443b682010c78a75990c23de641bdb39a284ded16c69bdbc0370f21d0d9df4" }, "downloads": -1, "filename": "django-image-renderer-0.1.2.tar.gz", "has_sig": false, "md5_digest": "844490b8a05d2619a14369909b9e8e32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12080, "upload_time": "2015-12-17T19:26:38", "url": "https://files.pythonhosted.org/packages/19/84/063f624df6b8d00cb5650bce7a211127659b0b5c70dc88ef9c971a7e4649/django-image-renderer-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cdc60cd8c904a64c14b71b4fd3b1b0a1", "sha256": "8f4419e96b2ed63297c3f50486adf4a0cd65d92d736901a54e00ab93d614a4de" }, "downloads": -1, "filename": "django_image_renderer-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdc60cd8c904a64c14b71b4fd3b1b0a1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16623, "upload_time": "2016-10-21T09:14:08", "url": "https://files.pythonhosted.org/packages/bb/93/d545d38e2fae57c66c9c9b63652d25524bf2e56a754e207c7ab6a4dc1f31/django_image_renderer-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5212db6a8f288f6c49a3ae43ff06c43", "sha256": "53522bf93d8b2a8355f7880966997c8a0e11fb9e8fd4d90afde743e6b8be4db9" }, "downloads": -1, "filename": "django-image-renderer-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b5212db6a8f288f6c49a3ae43ff06c43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12192, "upload_time": "2016-10-21T09:14:11", "url": "https://files.pythonhosted.org/packages/ab/7c/b0fa81c70502b2397a11756c650aeb9b22468cba33cb9344ab02a3cc6ac0/django-image-renderer-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cdc60cd8c904a64c14b71b4fd3b1b0a1", "sha256": "8f4419e96b2ed63297c3f50486adf4a0cd65d92d736901a54e00ab93d614a4de" }, "downloads": -1, "filename": "django_image_renderer-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdc60cd8c904a64c14b71b4fd3b1b0a1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16623, "upload_time": "2016-10-21T09:14:08", "url": "https://files.pythonhosted.org/packages/bb/93/d545d38e2fae57c66c9c9b63652d25524bf2e56a754e207c7ab6a4dc1f31/django_image_renderer-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5212db6a8f288f6c49a3ae43ff06c43", "sha256": "53522bf93d8b2a8355f7880966997c8a0e11fb9e8fd4d90afde743e6b8be4db9" }, "downloads": -1, "filename": "django-image-renderer-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b5212db6a8f288f6c49a3ae43ff06c43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12192, "upload_time": "2016-10-21T09:14:11", "url": "https://files.pythonhosted.org/packages/ab/7c/b0fa81c70502b2397a11756c650aeb9b22468cba33cb9344ab02a3cc6ac0/django-image-renderer-0.1.3.tar.gz" } ] }