如何在Djang中隐藏成功页面

2024-04-25 03:54:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有人知道:

例如,我有一个用户填写的表单,当他提交时,页面将重定向到“谢谢”页面。一切正常。在网址.py我用这条线指出页面存在:

url(r'^thankyou/$', 'render_form'),

但是,当我输入url时mysite.com/thankyou/,出现“谢谢”页面。。。但我需要它只在我提交表单时显示,并在用户试图直接打开表单时隐藏它。在

请帮忙。提前谢谢!在


Tags: 用户pyformcomurl表单页面render
1条回答
网友
1楼 · 发布于 2024-04-25 03:54:22

在重定向之前,您可以在表单处理视图中的会话中放入一些内容,并在感谢URL中进行检查:如果没有,则返回403错误。比如:

def form_handling_view(request):
    if request.POST:
    form = MyForm(request.POST)
        if form.is_valid():
            ... handle the form ...
            request.session['form_posted'] = True
            return redirect('thank_you')

def thank_you(request):
    if not request.session.pop('form_posted', False):
        return HttpResponseForbidden('not permitted')
    ... render thank_you page ...

注意,我在感谢中使用了pop,以确保无论发生什么情况,都会从会话中删除密钥。在

相关问题 更多 >