{ "info": { "author": "Streema Team", "author_email": "devel@streema.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# django-favit\n\nA simple reusable app for django that makes it easy to deal with faving\nand unfaving any object from any application.\n\n## Installation\n\n* Install django-favit in your vilrtual env:\n\n```\npip install django-favit\n```\n\n* Add the app to your settings.py\n\n```python\nINSTALLED_APPS = [\n ...\n \"favit\",\n ...\n]\n```\n\n* Add favit urls to your project's `urls.py` file:\n\n```python\nurlpatterns = patterns('',\n ...\n (r'^favit/', include('favit.urls')),\n ...\n)\n```\n\n* Sync your database:\n\n```\npython manage.py syncdb\n```\n\n* Make sure you have jQuery ajax CSRF configuration right\n\nSee https://docs.djangoproject.com/en/1.7/ref/contrib/csrf/#ajax\n\n## Usage:\n\n\n### Template tags:\n\n* Get the favorited objects for a given user:\n\n```python\n{% with user_favorites \"app_label.model\" as favorite_list %}\n {% for fav_obj in favorite_list %}\n {# do something with fav_obj #}\n {% endfor %}\n{% endwith %}\n```\n\n\n* Given an object `obj` you may show it fav count like this:\n\n```python\n

Favorite Count {{ obj|favorites_count }}

\n```\n\n\n* Get Favorite instance for an object (obj) and a user (user)\n\n```python\n{% with obj|get_favorite_for:user as fav_object %}\n ...\n{% endwith %}\n```\n\n* Favorite Button for an object `my_obj`:\n\n```python\n{% favorite_button my_obj %}\n```\n\n\n### Favorites Manager\n\n* Create a Favorite instance for a user and object:\n\n```python\n>>> from django.contrib.auth.models import User\n>>> from music.models import Song\n>>> user = User.objects.get(username='jdoe')\n>>> song = Song.objects.get(pk=1)\n>>> fav = Favorite.objects.create(user, song)\n```\n\n or:\n\n```python\n>>> fav = Favorite.objects.create(user, 1, Song)\n```\n\n or:\n\n```python\n>>> fav = Favorite.objects.create(user, 1, \"music.Song\")\n```\n\n * Get the objects favorited by a given user:\n\n```python\n>>> from django.contrib.auth.models import User\n>>> user = User.objects.get(username='jdoe')\n>>> Favorite.objects.for_user(user)\n>>> [, , ]\n```\n\n* Now, get user favorited objects belonging to a given model:\n\n```python\n>>> from django.contrib.auth.models import User\n>>> from music.models import Song\n>>> user = User.objects.get(username='jdoe')\n>>> Favorite.objects.for_user(user, model=Song)\n>>> [, , ]\n```\n\n* Get the favorited object instances of a given model favorited by any user:\n\n```python\n>>> from music.models import Song\n>>> Favorite.objects.for_model(Song)\n>>> [, , ]\n```\n\n* Get a Favorite instance for a given object and user:\n\n```python\n>>> from django.contrib.auth.models import User\n>>> from music.models import Song\n>>> user = User.objects.get(username='jdoe')\n>>> song = Song.objects.get(pk=1)\n>>> fav = Favorite.objects.get_favorite(user, song)\n```\n\n* Get all Favorite instances for a given object\n\n```python\n>>> from music.models import Song\n>>> song = Song.objects.get(pk=1)\n>>> fav = Favorite.objects.for_object(song)\n```\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/streema/django-favit", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-favit", "package_url": "https://pypi.org/project/django-favit/", "platform": "", "project_url": "https://pypi.org/project/django-favit/", "project_urls": { "Homepage": "https://github.com/streema/django-favit" }, "release_url": "https://pypi.org/project/django-favit/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "A simple reusable app for django that makes it easy to deal with faving", "version": "0.4.0" }, "last_serial": 5135034, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f752b78f20ce3482b0e845a0e809ce7c", "sha256": "8c51ca57004c4993471a45f4cfb567fbfc7a23cb79759a0f20b8431f122daa5c" }, "downloads": -1, "filename": "django-favit-0.1.tar.gz", "has_sig": false, "md5_digest": "f752b78f20ce3482b0e845a0e809ce7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6839, "upload_time": "2013-12-10T00:54:41", "url": "https://files.pythonhosted.org/packages/4d/50/c3850244bd474cd02ee0675a2acb8400db743f417db5201d8cf72cc03485/django-favit-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "fe00274af4f478f9f64ca0eb57e595b8", "sha256": "7f8f1d9dc1d4788d2b0e8635b1351fa9fb3a453d7d1fd7a8463d02daa30c88f2" }, "downloads": -1, "filename": "django-favit-0.2.tar.gz", "has_sig": false, "md5_digest": "fe00274af4f478f9f64ca0eb57e595b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6846, "upload_time": "2013-12-10T15:21:31", "url": "https://files.pythonhosted.org/packages/18/51/e5786c522ff6625347b6d342354383f6211afdf3924a0080472f1f6528e3/django-favit-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "189c69965f5107d52eab29284e27512c", "sha256": "82f9f1e693d9d70ac9c0be850be67d83cb5d7d8f884cac20f99292c56cf3bdaf" }, "downloads": -1, "filename": "django-favit-0.2.1.tar.gz", "has_sig": false, "md5_digest": "189c69965f5107d52eab29284e27512c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5374, "upload_time": "2013-12-10T23:13:42", "url": "https://files.pythonhosted.org/packages/7a/d5/6663d0b7fe90c741192c9690865b019ca2fed9e86df0c5a4c87ea82e746d/django-favit-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d7e22ae2f9584bf8837e6968d21163c0", "sha256": "7b886c16cfcb778e330993180de70ff4d247ada12ecd201c35fec89c5be7a7d7" }, "downloads": -1, "filename": "django-favit-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d7e22ae2f9584bf8837e6968d21163c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7651, "upload_time": "2013-12-13T15:05:27", "url": "https://files.pythonhosted.org/packages/10/47/ea93b62d7ad5e2e7d00c75996e9b63950105d5fd40f1a0473710d146f12c/django-favit-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "64e01347aa807aa1aa7867e6f6b08f53", "sha256": "7cb3498284dc6627f4347fa4b70b3c021e75c75bdb3e1ad0b53b2cb35af59abd" }, "downloads": -1, "filename": "django-favit-0.2.3.tar.gz", "has_sig": false, "md5_digest": "64e01347aa807aa1aa7867e6f6b08f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7492, "upload_time": "2014-07-11T13:40:34", "url": "https://files.pythonhosted.org/packages/a1/7b/31dfe228f6162ffc8a842be88bd8976e0e560deba7b45afbf0cbcc324718/django-favit-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "abf8600fcfb72668c8ee271c3709c374", "sha256": "351a7a7c9fa8a719337aaf00263ff6fc80bce3c25f6f04b12cf5c855fbf42187" }, "downloads": -1, "filename": "django-favit-0.2.4.tar.gz", "has_sig": false, "md5_digest": "abf8600fcfb72668c8ee271c3709c374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7510, "upload_time": "2014-09-25T22:14:55", "url": "https://files.pythonhosted.org/packages/8e/e5/fdd310076f8191b0320088cd22b8e0d1ff523fdc8f099d18cc616e1060da/django-favit-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4ee430c605e3e9dc38ca3dae95db16b6", "sha256": "39e2882c4bdaef656d939320ebb9558850c106fe27b6ac0c41bfcfdad3bd91f0" }, "downloads": -1, "filename": "django-favit-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4ee430c605e3e9dc38ca3dae95db16b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7526, "upload_time": "2017-01-16T12:08:06", "url": "https://files.pythonhosted.org/packages/d7/e9/fffc87ea6b94d6e5b51280b7befd27ef2404bf8eb8e2e9977d999446eeb9/django-favit-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "be98a005b6527cf7ac03d7afd76ba5b4", "sha256": "b5ed67a4d49f22aaaa6254e7ab3e697fa797e4abcaea3da1a0553f73b1f141aa" }, "downloads": -1, "filename": "django-favit-0.4.0.tar.gz", "has_sig": false, "md5_digest": "be98a005b6527cf7ac03d7afd76ba5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6719, "upload_time": "2019-04-12T17:58:08", "url": "https://files.pythonhosted.org/packages/78/2f/c9bb1e5bc9ac5c44256cbf57fd09e0410b934bb3928181d9aa15483c5350/django-favit-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be98a005b6527cf7ac03d7afd76ba5b4", "sha256": "b5ed67a4d49f22aaaa6254e7ab3e697fa797e4abcaea3da1a0553f73b1f141aa" }, "downloads": -1, "filename": "django-favit-0.4.0.tar.gz", "has_sig": false, "md5_digest": "be98a005b6527cf7ac03d7afd76ba5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6719, "upload_time": "2019-04-12T17:58:08", "url": "https://files.pythonhosted.org/packages/78/2f/c9bb1e5bc9ac5c44256cbf57fd09e0410b934bb3928181d9aa15483c5350/django-favit-0.4.0.tar.gz" } ] }