0

Django 1.5.5、Django-CMS 2.4.2 を使用して、django-cms *(cms.plugin_base.CMSPluginBase)* のプラグインを作成しました。プラグインは、正常に機能する何らかのフォームを作成します。しかし、フォームを送信した後、どうすればCookieを設定できますか?という問題が発生します。

from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from poll.models import PagePoll
from poll.forms import PollForm
from django.http import HttpResponse

class PollPlugin(CMSPluginBase):
    """ upload a poll  """
    model = PagePoll
    name = u'Poll'
    render_template = u"plugins/page_poll.html"

def render(self, context, instance, placeholder):
    #upload poll form
    request = context['request']

    form = PollForm(instance.poll, request.POST)

    #validate the form
    if request.method == 'POST':
        if form.is_valid():
            form.save()
            #=SAVE COOKIES HERE=
    else:
        form = PollForm(instance.poll)

    context['form'] = form
    return context

plugin_pool.register_plugin(PollPlugin)
4

1 に答える 1

0

答えはここにあります: https://djangosnippets.org/snippets/2541/

問題は、cms-pluginが応答オブジェクトを返すことができないことでした。そこではCookieを設定する必要があります

于 2013-11-14T07:10:35.333 に答える