{ "info": { "author": "Spencer Cooley", "author_email": "contact@spencercooley.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```", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SpencerCooley/django-favit", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "django-favs-sc", "package_url": "https://pypi.org/project/django-favs-sc/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-favs-sc/", "project_urls": { "Homepage": "https://github.com/SpencerCooley/django-favit" }, "release_url": "https://pypi.org/project/django-favs-sc/0.2.5/", "requires_dist": null, "requires_python": null, "summary": "A simple reusable app for django that makes it easy to deal with faving", "version": "0.2.5" }, "last_serial": 1460116, "releases": { "0.2.4": [ { "comment_text": "", "digests": { "md5": "fa9f4400dd6f9b905dde7d26419a9c49", "sha256": "082936e2103911c96e6dc0529f8571403a949e81b37f3ff4c68438b41b9da7e4" }, "downloads": -1, "filename": "django_favs_sc-0.2.4-py2-none-any.whl", "has_sig": false, "md5_digest": "fa9f4400dd6f9b905dde7d26419a9c49", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10491, "upload_time": "2015-03-13T13:38:57", "url": "https://files.pythonhosted.org/packages/74/9c/e56e6d0669820122607b662aced3d55910cecfc245e3a8aa36e8be5a62df/django_favs_sc-0.2.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2aeb5599ded6179e995415bc684dba8", "sha256": "eb106eb69aaf8b53f3b522b4779bb7396628435bfea45c320e678d3e3e88bfb2" }, "downloads": -1, "filename": "django-favs-sc-0.2.4.tar.gz", "has_sig": false, "md5_digest": "b2aeb5599ded6179e995415bc684dba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7573, "upload_time": "2015-03-13T13:38:54", "url": "https://files.pythonhosted.org/packages/36/8a/baeda7d7d82660fe2799dc35b7ab864f672cdd3e5bffc4352e4aae5a6fc2/django-favs-sc-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "477683e69b8856fc3ec20978aa835b41", "sha256": "df3ff75a3c9ab21603a97f22637063079331916f39e8aa930218b86240ff5bc6" }, "downloads": -1, "filename": "django_favs_sc-0.2.5-py2-none-any.whl", "has_sig": false, "md5_digest": "477683e69b8856fc3ec20978aa835b41", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10490, "upload_time": "2015-03-13T14:55:20", "url": "https://files.pythonhosted.org/packages/9b/06/29a257e3bb364d92dcc2e695037cef9195912cb6501bb3bf455c4706538c/django_favs_sc-0.2.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5055c12d6fb08b2020e05619fad6746c", "sha256": "1335814636f521173c360b0af5bb43bd22378f78a764c51f3c2f1edd1d47fad5" }, "downloads": -1, "filename": "django-favs-sc-0.2.5.tar.gz", "has_sig": false, "md5_digest": "5055c12d6fb08b2020e05619fad6746c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7564, "upload_time": "2015-03-13T14:55:17", "url": "https://files.pythonhosted.org/packages/14/fb/446b52e9d618e8329d98479edda19299f2142a2bd13deeba3d2d38a0c0c6/django-favs-sc-0.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "477683e69b8856fc3ec20978aa835b41", "sha256": "df3ff75a3c9ab21603a97f22637063079331916f39e8aa930218b86240ff5bc6" }, "downloads": -1, "filename": "django_favs_sc-0.2.5-py2-none-any.whl", "has_sig": false, "md5_digest": "477683e69b8856fc3ec20978aa835b41", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10490, "upload_time": "2015-03-13T14:55:20", "url": "https://files.pythonhosted.org/packages/9b/06/29a257e3bb364d92dcc2e695037cef9195912cb6501bb3bf455c4706538c/django_favs_sc-0.2.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5055c12d6fb08b2020e05619fad6746c", "sha256": "1335814636f521173c360b0af5bb43bd22378f78a764c51f3c2f1edd1d47fad5" }, "downloads": -1, "filename": "django-favs-sc-0.2.5.tar.gz", "has_sig": false, "md5_digest": "5055c12d6fb08b2020e05619fad6746c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7564, "upload_time": "2015-03-13T14:55:17", "url": "https://files.pythonhosted.org/packages/14/fb/446b52e9d618e8329d98479edda19299f2142a2bd13deeba3d2d38a0c0c6/django-favs-sc-0.2.5.tar.gz" } ] }