一个简单的django应用程序来处理对象评级。

django-rating的Python项目详细描述


此包允许您使用不同类型的分级对任何对象进行分级。

示例:

假设一个用户(作为参与者)想要对上一个会话的内容和执行者进行评分。

rating_element_1=RatingElement.objects.create(element_type=RATING_ELEMENT_SESSION_CONTENT,score=5)rating_element_2=RatingElement.objects.create(element_type=RATING_ELEMENT_SESSION_PERFORMER,score=5)rating=ObjectRating.objects.create(user=my_user,user_type=USER_TYPE_PARTICIPANT,content_type=ContentType.objects.get(model="session"),object_id=Session.objects.last().id,)rating.elements.add(rating_element_1,rating_element_2)

安装

安装pip包:

pip install django-rating

如果尚未安装,请安装django-rest-framework

ratingrest_framework添加到已安装的应用程序中

在urlpatterns中包含“rating.url”

fromdjango.conf.urlsimporturl,includefromdjango.contribimportadminurlpatterns=[url(r'^admin/',admin.site.urls),url(r"",include("rating.urls")),]

将数据库迁移到板条箱评级模型

python manage.py migrate

开发

复制回购协议

git clone git@github.com:pulilab/django-rating.git

测试应用程序

测试独立应用程序:

$export database_url='your_db'您可以跳过此项,默认为'localhost'(为简单起见,请使用postgres.app)

$pip install-r requirements.txt

$python runtests.py

以开发模式运行应用程序

创建一个新的django项目并以开发模式安装包

django-admin startproject rating_demo
cd rating_demo
pip install -e ~LOCAL_PATH_TO_DJANGO_RATING

ratingrest_framework添加到INSTALLED_APPS中的settings.py

INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','rest_framework','rating']

配置演示应用程序URL

fromdjango.conf.urlsimporturl,includefromdjango.contribimportadminurlpatterns=[url(r'^admin/',admin.site.urls),url(r"^api/",include("rating.urls")),]

SqlLite is not supported

settings.py

DATABASES={'default':{'ENGINE':'django.db.backends.postgresql_psycopg2','NAME':'postgres','USER':'postgres','HOST':os.environ.get("DATABASE_URL",'localhost'),'PORT':5432,}}

配置

在“设置”中配置以下值:

  • rating_valid_user_type:定义接受的用户类型
  • rating_valid_element_type:定义可接受的rating元素类型
  • 评分:定义评分的最低分数
  • 的最大分数

例如

fromdjango.utils.translationimportugettext_lazyas_USER_TYPE_SESSION_HOST='H'USER_TYPE_SESSION_PARTICIPANT='P'ELEMENT_TYPE_SESSION_CONTENT='S'ELEMENT_TYPE_COMMENT='C'RATING_VALID_USER_TYPES=((USER_TYPE_SESSION_HOST,_('HOST')),(USER_TYPE_SESSION_PARTICIPANT,_('PARTICIPANT')))RATING_VALID_ELEMENT_TYPES=((ELEMENT_TYPE_SESSION_CONTENT,_('SESSION_CONTENT')),(ELEMENT_TYPE_COMMENT,_('COMMENT')))RATING_MIN_SCORE=1RATING_MAX_SCORE=5

迁移数据库、创建超级用户并运行演示应用程序:

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

http://localhost:8000/admin打开浏览器

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
关于如何将spring mvc重构为普通servlet或jetty处理程序的java建议   java循环和处理数据输入错误   使用java获取更改内容   java试图向一个数组中添加5张不同的“卡”,但它正在添加5张相同的卡   Java函数在Matlab类中变得未定义   多线程Java使用对象作为监视器,那个对象不是太重了吗?   将MySQL日期转换为Java日期:Android   java ResourceBundle在哪里。getBundle(“ResourceFile”,新语言环境(“us”,“us”))查找该文件?   java第一人称摄影机卷   如何在java中交替使用两个字符   addActionListener上下文中的java“this”   几天后,java Grails和Jasig CAS重定向循环   JavaAnt如何在javac中使用exclude、excludesfile?   java如何设置单行RecyclerView上的文本?