{ "info": { "author": "Dmitry Voronin", "author_email": "dimka665@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "=====================\ndjango-awesome-avatar\n=====================\n\nDjango-awesome-avatar is a reusable application providing Avatar model field.\nIt allows crop selected area before saving image.\n\nPurpose\n=======\n\n| Unlike django-avatar_ and django-upload-avatar_ \n| django-awesome-avatar_ uses:\n\n- field in profile model instead creating model for saving images\n- HTML5 File API instead hidden iframe AJAX for image preview\n- easy customizable presence (any view and widget templates)\n\nInstall\n=======\n\nTo integrate ``django-awesome-avatar`` with your site, there are few things\nthat are required:\n\n#. Installing::\n\n pip install django-awesome-avatar\n\n#. List this application in the ``INSTALLED_APPS`` portion of your settings file.\n Your settings file will look something like::\n\n INSTALLED_APPS = (\n ...\n 'awesome_avatar',\n )\n\nUsage examples\n==============\n\nwith ModelForm\n--------------\n\nAdd the ``AvatarField`` to your user or profile model::\n \n from awesome_avatar.fields import AvatarField\n \n class Profile(Model):\n user = OneToOneField(User, related_name='profile')\n ...\n avatar = AvatarField(upload_to='avatars', width=100, height=100)\n\nUse model form usually way::\n\n class AvatarChangeForm(ModelForm):\n class Meta:\n model = Profile\n fields = ['avatar']\n \n def change_avatar(request):\n if request.method == 'POST':\n form = AvatarChangeForm(request.POST, request.FILES,\n instance=request.user.profile)\n if form.is_valid():\n form.save()\n return HttpResponseRedirect('/profile/')\n else:\n form = AvatarChangeForm(instance=request.user.profile)\n\n return render(request, 'template.html', {'form': form})\n \nwith Form\n---------\n\nDefine some model for saving images::\n \n class Images(Model):\n image = ImageField(upload_to='images')\n \nUse form field for cropping image::\n\n from awesome_avatar import forms as avatar_forms\n\n class UploadAndCropImageForm(Form):\n image = avatar_forms.AvatarField()\n \n def upload_and_crop_image(request):\n if request.method == 'POST':\n form = UploadAndCropImageForm(request.POST)\n \n if form.is_valid():\n Images(image=form.image).save()\n return HttpResponseRedirect('/any/')\n else:\n form = UploadAndCropImageForm()\n\n return render(request, 'template.html', {'form': form})\n \n \nGlobal Settings\n===============\n\nDjango's ``settings.py``::\n \n AWESOME_AVATAR = {\n 'width': 100,\n 'height': 100,\n \n 'select_area_width': 400,\n 'select_area_height': 300,\n \n 'save_quality': 90,\n 'save_format': 'png',\n ...\n }\n \n.. _django-avatar: https://github.com/jezdez/django-avatar\n.. _django-upload-avatar: https://github.com/yueyoum/django-upload-avatar\n.. _django-awesome-avatar: https://github.com/dimka665/django-awesome-avatar", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dimka665/django-awesome-avatar", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-awesome-avatar", "package_url": "https://pypi.org/project/django-awesome-avatar/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-awesome-avatar/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/dimka665/django-awesome-avatar" }, "release_url": "https://pypi.org/project/django-awesome-avatar/1.1.3/", "requires_dist": null, "requires_python": null, "summary": "Django Avatar field", "version": "1.1.3" }, "last_serial": 936658, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "3acb79b0981dcdc2dec46b44c91c768d", "sha256": "ab7b64e81e760d741e0bee8ea1dba394016e0a03ba906ee120debbcfce59e804" }, "downloads": -1, "filename": "django-awesome-avatar-0.9.tar.gz", "has_sig": false, "md5_digest": "3acb79b0981dcdc2dec46b44c91c768d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58171, "upload_time": "2013-08-02T23:36:55", "url": "https://files.pythonhosted.org/packages/60/65/aa776f9a935d7ab4794f52d9129e96ae08ad72bb911b87b391c47f813848/django-awesome-avatar-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "d064627ccfa23c0857011a381a8250ff", "sha256": "260da56482859f555924cd4af2decc3d6ea41d2b1dcf167286552d1993e2043b" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.tar.gz", "has_sig": false, "md5_digest": "d064627ccfa23c0857011a381a8250ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58170, "upload_time": "2013-08-04T14:18:11", "url": "https://files.pythonhosted.org/packages/04/13/119c782b0d576fcae0a282f4f824c70dd52b7ef62f17f211d885781d5feb/django-awesome-avatar-1.0.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "f5d4a97edab5de55a191cabf5d43fa49", "sha256": "bfb02781e62864114a0b5b04420f5ef29b576378233c6588afa7f2693dbacdb8" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f5d4a97edab5de55a191cabf5d43fa49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59568, "upload_time": "2013-08-04T18:30:22", "url": "https://files.pythonhosted.org/packages/5f/da/77cb7628cb6a85ceddd577b60c114c045910df91021492cb13e85933a173/django-awesome-avatar-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "41753ae7de796ca657fe2c6cbf160607", "sha256": "e91b056754b5165087f2928bd986719e292edacaf34ae95fcc3aa04eb67d83f3" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.3.tar.gz", "has_sig": false, "md5_digest": "41753ae7de796ca657fe2c6cbf160607", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59564, "upload_time": "2013-08-04T18:40:51", "url": "https://files.pythonhosted.org/packages/6e/78/d9048b211409f39b37ba9787f1c3f20b35ef129e8bb93f535145cd7e317c/django-awesome-avatar-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "d050075d5014f6221b31e174b7cdee22", "sha256": "ea4c75ac4371dca36830dbb0760c66f223381ae9b419dd4cde12fb78c70555cb" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.4.tar.gz", "has_sig": false, "md5_digest": "d050075d5014f6221b31e174b7cdee22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59590, "upload_time": "2013-08-04T18:48:06", "url": "https://files.pythonhosted.org/packages/71/ab/932a312e5b7880c0a778f3d5f0be8d31a9ccb4089e9ceda7646ce1737277/django-awesome-avatar-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "618eb2482b5974aba33adc517fc8605f", "sha256": "dd16d31b411ec39676657279d0eba36d031abc87fc5604dedba3ba7f1cde55be" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.5.tar.gz", "has_sig": false, "md5_digest": "618eb2482b5974aba33adc517fc8605f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59586, "upload_time": "2013-08-04T18:49:58", "url": "https://files.pythonhosted.org/packages/98/01/3ce6e61f20b7aadfca619ea286afe7ae9fbbc7ef34e7a3f4d71ae50cede6/django-awesome-avatar-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "320a08b266ee49135f0b1df2fa45ac5d", "sha256": "cc122c4616d60439b19f332ed9215a8eb5b3349935173c32f5b77c2db90afee3" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.6.tar.gz", "has_sig": false, "md5_digest": "320a08b266ee49135f0b1df2fa45ac5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59585, "upload_time": "2013-08-04T18:53:11", "url": "https://files.pythonhosted.org/packages/0f/86/73bd0d0f3cccc8b06d7033ed9986ff6a0dd28f94f61a5fa7aec4dc1156c1/django-awesome-avatar-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "27cd5f2276431341ba2ab28f46e26501", "sha256": "fbcca1f810e4110fe7964298ae20794ed70c4ac7b59dd76c3b7e26a3516a7fd2" }, "downloads": -1, "filename": "django-awesome-avatar-1.0.7.tar.gz", "has_sig": false, "md5_digest": "27cd5f2276431341ba2ab28f46e26501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59666, "upload_time": "2013-08-04T23:00:32", "url": "https://files.pythonhosted.org/packages/1e/35/2a7a611fa3750b336007379f9267a3531c29c54916ec30dc9113a68fce43/django-awesome-avatar-1.0.7.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "b43b19d8eb3294da0ce3b268b359baff", "sha256": "53d688bb934eee048de0e91f08daf834a67cdc6dd054f667761004ec324fec05" }, "downloads": -1, "filename": "django-awesome-avatar-1.1.tar.gz", "has_sig": false, "md5_digest": "b43b19d8eb3294da0ce3b268b359baff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59666, "upload_time": "2013-08-04T23:29:14", "url": "https://files.pythonhosted.org/packages/4e/71/10adc121dbb78eca33d2693cce070365028552ea4bd269caf1953e239f9f/django-awesome-avatar-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c2265a0fc28c43a925832b1f074db513", "sha256": "cb239572b704d433eaa2652d93e747814532d147a3baa2c5c5fd25905d1208c5" }, "downloads": -1, "filename": "django-awesome-avatar-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c2265a0fc28c43a925832b1f074db513", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59691, "upload_time": "2013-08-05T13:31:17", "url": "https://files.pythonhosted.org/packages/2c/65/d1938028cf553462fd213fcb9ade631fb9f03b932ac4a609a51304cbe3c1/django-awesome-avatar-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "bc92520537ab027f709bf753badf4056", "sha256": "2f65893807d63b032b0387318fc77fedd4e90ade766cff9168b698f46406ea15" }, "downloads": -1, "filename": "django-awesome-avatar-1.1.2.tar.gz", "has_sig": false, "md5_digest": "bc92520537ab027f709bf753badf4056", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60409, "upload_time": "2013-08-14T17:05:44", "url": "https://files.pythonhosted.org/packages/fb/fc/401c6980bffa88623150bdc70fa4f33cfb2241e8d1a0478a4f71404c3277/django-awesome-avatar-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "1a3d7db58fe03c7be553d9e778d2b627", "sha256": "f21efe208db74e78abcaa4bcf47ba95419db5ba7babc936d2561db655488910c" }, "downloads": -1, "filename": "django-awesome-avatar-1.1.3.tar.gz", "has_sig": false, "md5_digest": "1a3d7db58fe03c7be553d9e778d2b627", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58646, "upload_time": "2013-12-05T13:58:28", "url": "https://files.pythonhosted.org/packages/b1/a0/e79f0e0d1190e8fe24ac22cc948176de80c55d9dda56862ea661e6fafdd4/django-awesome-avatar-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1a3d7db58fe03c7be553d9e778d2b627", "sha256": "f21efe208db74e78abcaa4bcf47ba95419db5ba7babc936d2561db655488910c" }, "downloads": -1, "filename": "django-awesome-avatar-1.1.3.tar.gz", "has_sig": false, "md5_digest": "1a3d7db58fe03c7be553d9e778d2b627", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58646, "upload_time": "2013-12-05T13:58:28", "url": "https://files.pythonhosted.org/packages/b1/a0/e79f0e0d1190e8fe24ac22cc948176de80c55d9dda56862ea661e6fafdd4/django-awesome-avatar-1.1.3.tar.gz" } ] }