我编写了一个简单的插件,使用表单将注释添加到页面上。
以下是插件代码:
class KomentarzePlugin(CMSPluginBase):
model = CMSPlugin
name = _("Komentarze plugin")
render_template = "komentarze/komentarze_wtyczka.html"
def render(self, context, instance, placeholder):
request = context['request']
print 'weszlo1'
print request.method
if request.method == 'POST':
form = KomentarzForm(request.POST)
print 'weszlo2'
if form.is_valid():
user = form.cleaned_data['user']
tresc = form.cleaned_data['tresc']
strona = request.current_page
data = timezone.datetime.now()
k = Komentarz(autor=user, data=data, tresc=tresc, strona=strona)
k.save()
context.update({
'instance': instance,
'placeholder': placeholder,
'komentarze': Komentarz.objects.all().filter(strona=request.current_page).order_by('-data'),
'forma': KomentarzForm()
})
return context
plugin_pool.register_plugin(KomentarzePlugin)
当我重新启动服务器时,用数据填写表单,点击提交,然后如果满足POST方法的语句并且函数输入,则将post添加到数据库并显示。但是,当我再次尝试时,它甚至不会将request.method打印到控制台,这意味着它是空的。重新启动服务器可以解决问题。当我重新启动服务器,执行一些随机菜单点击,然后尝试填写并发送表单时,它也不起作用。
有什么猜测?
答案 0 :(得分:5)
我终于解决了我的问题。在KomentarzePlugin课程中,我添加了:
cache = False