Page Processor
http://mezzanine.jupo.org/docs/content-architecture.html#page-processors
from django.shortcuts import get_object_or_404
from mezzanine.pages.page_processors import processor_for
from .models import Poll, Choice
@processor_for(Poll)
def author_form(request, page):
if request.method == "POST":
p = get_object_or_404(Poll, pk=page.poll.id)
try:
selected_choice = p.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
return {'error_message': "You didn't select a choice."}
else:
selected_choice.votes += 1
selected_choice.save()
return {'success_message': "Thank you for your vote."}
Vote!!!
{% if error_message %}
{{ error_message }}
{% endif %}
{% if success_message %}
{{ success_message }}
{% endif %}
{% csrf_token %}
{% for choice in page.poll.choice_set.all %}
{{ choice.choice_text }}
{% endfor %}
polls/page_processors.py
polls/templates/poll.py