python – 未调用CreateView中的Django form_valid()和form_invalid()

文章来源: https://codeday.me/bug/20190112/513700.html, 本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我目前正在使用 django

的CreateView将数据发布到数据库.不幸的是,我从不调用我想保存并执行自定义逻辑的方法form_valid().我读了另一个堆栈溢出响应,form_invalid()可能会发现问题,但我也无法调用该方法.似乎调用的唯一方法是get(),我将其覆盖并放入一个print语句.我做错了什么?

view.py中的类声明

class TeamCreate(CreateView): # Manipulate and use this Method instead of create_team
    model = Team
    # form_class = create_team_form
    fields = ['team_name', 'sport', 'sport_season']
    success_url = '/'

    def get(self, request, *args, **kwargs):
        self.user = request.user
        print 'happening1'
        return super(TeamCreate, self).get(request, *args, **kwargs)


    def form_valid(self, form):
        print 'happening2'
        # form.instance.save()
        # self.user.teams.add(form.instance)
        form.save()
        return super(form_valid, self).form_valid(form)

    def form_invalid(self, form):
        print "form is invalid"
        return http.HttpResponse("form is invalid.. this is just an HttpResponse object")

相关的模板代码

{% block content %}
<form action="" method=”POST”>
     {% csrf_token %}
     {{ form|crispy }}
     <input class="btn btn-primary" type="submit" value="Create" />
</form>

显然,POST周围的引号根本不是引号,而是鬼鬼祟祟的忍者生命破坏痕迹. “对比”.我要睡觉了.

翻译自:https://stackoverflow.com/questions/31667035/django-form-valid-and-form-invalid-in-createview-not-called


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

为你推荐:

查看所有标签

码农书籍
程序员的算法趣题

程序员的算法趣题

[ 日] 增井敏克 / 绝 云 / 人民邮电出版社 / 2017-7 / 55.00元

本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法以提升编程技巧、拓展程序设计思路的程序员,以及对挑战算法问题感兴趣、爱好解谜的程序员阅读。

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具