{ "info": { "author": "Pulilab", "author_email": "bh@pulilab.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP" ], "description": "This package allows you to rate any of your objects with different type of ratings.\n\nExample:\n\nLet's say a user (as a participant) wants to rate the last session's content and the performer.\n\n```python\nrating_element_1 = RatingElement.objects.create(element_type=RATING_ELEMENT_SESSION_CONTENT, score=5)\nrating_element_2 = RatingElement.objects.create(element_type=RATING_ELEMENT_SESSION_PERFORMER, score=5)\n\nrating = ObjectRating.objects.create(\n user=my_user,\n user_type=USER_TYPE_PARTICIPANT,\n content_type=ContentType.objects.get(model=\"session\"),\n object_id=Session.objects.last().id, \n)\n\nrating.elements.add(rating_element_1, rating_element_2)\n```\n\n# Installation\n\nInstall the pip package:\n\n```bash\npip install django-rating\n```\n\nInstall `django-rest-framework` if not already installed\n\nadd `rating` and `rest_framework` to INSTALLED_APPS\n\ninclude 'rating.urls' into urlpatterns\n\n```python\nfrom django.conf.urls import url, include\nfrom django.contrib import admin\n\nurlpatterns = [\n url(r'^admin/', admin.site.urls),\n url(r\"\", include(\"rating.urls\")),\n]\n```\n\nMigrate the db to crate rating models\n\n```bash\npython manage.py migrate\n```\n\n# Develop\n\nClone the repo\n\n```bash\ngit clone git@github.com:pulilab/django-rating.git\n```\n\n## Test app\n\nTest standalone app:\n\n$ export DATABASE_URL='your_db' # you can skip this, defaults to 'localhost' (use postgres.app for simplicity)\n\n$ pip install -r requirements.txt\n\n$ python runtests.py\n\n## Run the app in develop mode\n\nCreate a new django project and install the package in develop mode\n\n```bash\ndjango-admin startproject rating_demo\ncd rating_demo\npip install -e ~LOCAL_PATH_TO_DJANGO_RATING\n```\n\nAdd `rating` and `rest_framework` to `INSTALLED_APPS` in `settings.py`\n\n```python\nINSTALLED_APPS = [\n 'django.contrib.admin',\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.messages',\n 'django.contrib.staticfiles',\n 'rest_framework',\n 'rating'\n]\n```\nConfigure demo app urls\n\n```python\nfrom django.conf.urls import url, include\nfrom django.contrib import admin\n\nurlpatterns = [\n url(r'^admin/', admin.site.urls),\n url(r\"^api/\", include(\"rating.urls\")),\n]\n```\n> SqlLite is not supported\n\nChange the db config to use postgres in `settings.py`:\n\n```python\nDATABASES = {\n 'default': {\n 'ENGINE': 'django.db.backends.postgresql_psycopg2',\n 'NAME': 'postgres',\n 'USER': 'postgres',\n 'HOST': os.environ.get(\"DATABASE_URL\", 'localhost'),\n 'PORT': 5432,\n }\n}\n```\n\n# Configure\n\nConfigure the following values in settings:\n- RATING_VALID_USER_TYPES: Defines the accepted user types\n- RATING_VALID_ELEMENT_TYPES: Defines the accepted rating element types\n- RATING_MIN_SCORE: Defines the minimum score for rating\n- RATING_MAX_SCORE: Defines the maximum score for rating\n\nE.g.\n```python\nfrom django.utils.translation import ugettext_lazy as _\n\nUSER_TYPE_SESSION_HOST = 'H'\nUSER_TYPE_SESSION_PARTICIPANT = 'P'\n\nELEMENT_TYPE_SESSION_CONTENT = 'S'\nELEMENT_TYPE_COMMENT = 'C'\n\nRATING_VALID_USER_TYPES = (\n (USER_TYPE_SESSION_HOST, _('HOST')),\n (USER_TYPE_SESSION_PARTICIPANT, _('PARTICIPANT'))\n)\nRATING_VALID_ELEMENT_TYPES = (\n (ELEMENT_TYPE_SESSION_CONTENT, _('SESSION_CONTENT')),\n (ELEMENT_TYPE_COMMENT, _('COMMENT'))\n)\nRATING_MIN_SCORE = 1\nRATING_MAX_SCORE = 5\n\n```\n\n\nMigrate db, create super user and run your demo app:\n\n```bash\npython manage.py migrate\npython manage.py createsuperuser\npython manage.py runserver\n```\n\nopen the browser at `http://localhost:8000/admin`", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.github.com/pulilab/django-rating", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-rating", "package_url": "https://pypi.org/project/django-rating/", "platform": "", "project_url": "https://pypi.org/project/django-rating/", "project_urls": { "Homepage": "https://www.github.com/pulilab/django-rating" }, "release_url": "https://pypi.org/project/django-rating/0.1.5/", "requires_dist": null, "requires_python": "", "summary": "A simple Django app to handle object ratings.", "version": "0.1.5" }, "last_serial": 5649508, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "692f26b0b0219ce992c53c133b9c951f", "sha256": "4eb901979578e06d4c5cf0865cfef16882e17b070663c552cb3ab84bb7d04f67" }, "downloads": -1, "filename": "django-rating-0.1.1.tar.gz", "has_sig": false, "md5_digest": "692f26b0b0219ce992c53c133b9c951f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5953, "upload_time": "2019-07-08T14:44:32", "url": "https://files.pythonhosted.org/packages/89/b6/3996459a2f903338aecacd43c5828b222cf02c8346c505e143af280ae1db/django-rating-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "613ec82945c893c34e3e440c07b37393", "sha256": "2481423258d120691fdf9c30955488f117463076ba1155f9f98471e7953738fc" }, "downloads": -1, "filename": "django-rating-0.1.2.tar.gz", "has_sig": false, "md5_digest": "613ec82945c893c34e3e440c07b37393", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5905, "upload_time": "2019-07-17T11:41:48", "url": "https://files.pythonhosted.org/packages/2e/8a/a73f2809ff1845ea1b6b7e6d0cd0fbabaac8b8b4f27596f675dcc444a53f/django-rating-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d8f7da1431687ff90ca24f1e26cb5091", "sha256": "7567aa53643a8f51f9cf82be7b3da7c476814a51bac8fca171e2ed72dd92f91f" }, "downloads": -1, "filename": "django-rating-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d8f7da1431687ff90ca24f1e26cb5091", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5921, "upload_time": "2019-07-31T07:28:43", "url": "https://files.pythonhosted.org/packages/71/35/8b03eb2b8514364d53a00778074eea9cc4efd56afa9dae8ef6f96f053300/django-rating-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4bd34aaa050ed97a79c9a813b8789ace", "sha256": "c0fa6936556a70c1620f9ca4e166435cdc80f4afd458da9982eb16edf8fc2235" }, "downloads": -1, "filename": "django-rating-0.1.4.tar.gz", "has_sig": false, "md5_digest": "4bd34aaa050ed97a79c9a813b8789ace", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5925, "upload_time": "2019-07-31T07:35:13", "url": "https://files.pythonhosted.org/packages/08/13/ed04782c9802541eb8dec2008910258f7e997353fb5b3a4c017ae47a32e2/django-rating-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "59f3eaab1d470b0e06c1ffcdba1942cd", "sha256": "d380053309991439c24195ed2f4a0b9d653c85d9d179d55ba79bf8bb99a0ccc2" }, "downloads": -1, "filename": "django-rating-0.1.5.tar.gz", "has_sig": false, "md5_digest": "59f3eaab1d470b0e06c1ffcdba1942cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6096, "upload_time": "2019-08-08T11:08:17", "url": "https://files.pythonhosted.org/packages/fb/3f/2d8137faed69c931c38d9e3bb71f658e9072a42afa2702889597bcaf4f3d/django-rating-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59f3eaab1d470b0e06c1ffcdba1942cd", "sha256": "d380053309991439c24195ed2f4a0b9d653c85d9d179d55ba79bf8bb99a0ccc2" }, "downloads": -1, "filename": "django-rating-0.1.5.tar.gz", "has_sig": false, "md5_digest": "59f3eaab1d470b0e06c1ffcdba1942cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6096, "upload_time": "2019-08-08T11:08:17", "url": "https://files.pythonhosted.org/packages/fb/3f/2d8137faed69c931c38d9e3bb71f658e9072a42afa2702889597bcaf4f3d/django-rating-0.1.5.tar.gz" } ] }