如何在 success_url 中传递上下文数据?

我做了一个表单,我希望再次返回同一个表单,这次我的模板中可以使用上下文数据来显示表单已经成功发送。

我如何才能做到这一点?

class ContactUsView(FormView):
    form_class = ContactUsForm
    template_name = 'website/pages/contact_us.html'

    def form_valid(self, form):
        form.send_email()
        return super(ContactUsView, self).form_valid(form)

    def get_success_url(self):
        # Something here?

基本上我想 get_success_url 返回 ContactUsView 与e.g. {'success':'true'} 我可以在模板中读取,并呈现一个框,说它已经成功。我不想换成另一个静态页面。

解决方案:

添加一个像这样的网址到 urls.py:

url(r'^contact/(?P<success>\w+)$', ContactUsView.as_view(), name="ContactUsView"),

你可以在 class-based 这样的观点。

添加 get_context_data 方法到你的 class-view

class ContactUsView(DetailView):
    context_object_name = 'my_var'

    def get_context_data(self, **kwargs):
        context = super(ContactUsView, self).get_context_data(**kwargs)
        context['success'] = self.success
        return context

而且你可以使用 {{ my_var.success }} 在您的模板中。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

SwiftUI字体smallCaps()不能与italic()一起工作。

2022-4-21 16:09:18

解决方案

React试图在JSDom下附加Events。

2022-4-21 17:01:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索