【问题标题】:Set cookie in django-cms plugin在 django-cms 插件中设置 cookie
【发布时间】:2013-11-25 18:24:19
【问题描述】:

使用 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)

【问题讨论】:

    标签: django cookies plugins django-cms


    【解决方案1】:

    答案在这里找到: https://djangosnippets.org/snippets/2541/

    问题是cms-plugin不能返回responce对象,其中cookies需要赌set... 所以诀窍是使用 HttpResponceRedirect

    引发自定义异常

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      相关资源
      最近更新 更多