Skip to main content

Django cms comments, and rate system with stats.

Project description

djangocms-votes

Django cms comments, and rate system with stats

Installation

This apps suppose you have django CMS installed and well configurated.

$ pip install djangocms-votes

Add djcms_votes and django_ajax to your INSTALLED_APPS

INSTALLED_APPS = [
        ...
        'djcms_votes',
        'django_ajax',
        'aldryn_newsblog',
]

Theoretically aldryn_newsblog is not need, but I developed thinking in it, and I do my test with this app installed

Set email per comment notifications

COMMENT_EMAIL_NOTIFICATION = ['myemail@example.com']

Configure yours urls.py

urlpatterns = [
        ...
        url(r'^votes/', include('djcms_votes.urls')),
        ]

it’s also possible to include as url list for django>=1.10 using djcms_votes.urls.urlpatterns

if you need a login view include

from django.contrib.auth import views
from djcms_votes.forms import LoginForm
urlpatterns = [
        ...
        url(r'^accounts/login/$', views.login,
        {'template_name': 'djcms_votes/login.html',
                'authentication_form': LoginForm}, name="login"),
]

Migrations

Run migrations

$ python manage.py migrate

Include js requirements in html

Django ajax has a especial requirement that force to include js lib in your template, so you can add this to your base template

{% load staticfiles  %}

Include jquery, you need to download from cdn o from official page and include in your static folder

<script src="{% static 'js/jquery.js' %}"></script>

add before jquery those lines

<script type="text/javascript" src="{% static 'django_ajax/js/jquery.ajax.min.js' %}"></script>
<script type="text/javascript" src="{% static 'django_ajax/js/jquery.ajax-plugin.min.js' %}"></script>

Use mode

djangocms-votes provide the follow template tags, article it’s a template variable that represent page or articule, so could be whatever variable name.

{% load votes %}

  • render_comments: If user is super user them show all comments, if user is logged then show a input comment field. Super users can vote comment as possitive, negative or neutral. Email is send to COMMENT_EMAIL_NOTIFICATION when user make a comment.

    {% render_comments article %}

  • render_comment_chart: Show chart with super users comment votes for this article.

    {% render_comment_chart article %}

  • render_poll_likes: Allow user to rate article with 1-5 starts.

    {% render_poll_likes article %}

  • render_poll: Show chart with result of start rate.

    {% render_poll article %}

{% load user_votes %}

  • user_poll_likes_chart: like render_poll but for specific user.

    {% user_poll_likes_chart user %}

  • user_comment_likes_chart: like render_comment_chart but for specific user.

    {% user_comment_likes_chart user %}

Page application

A filtrable stat system is available as page application, so you can add Votes in page settings, in the application field.

Note: Votes could be translated if your are not using english.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangocms-votes-0.0.2.tar.gz (136.4 kB view details)

Uploaded Source

File details

Details for the file djangocms-votes-0.0.2.tar.gz.

File metadata

File hashes

Hashes for djangocms-votes-0.0.2.tar.gz
Algorithm Hash digest
SHA256 863b5863774670201ef4d9d1fbd72448b5f32d4f2037ccc5798634374665eb85
MD5 1ad1a7fe1e7c01b85232d7c5b3ea0750
BLAKE2b-256 c352de35fdbb05799007f2c0d858aa536b83e397ac880a7c20f634c7509f07f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page