清理前将数据传入django表单 [英] Modify data incoming to django form before cleaning

查看:78
本文介绍了清理前将数据传入django表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在清理之前,我需要修改数据到表单。我使它工作,但它看起来很可怕:

I need do modify data incoming to Form before cleaning. I made it work, but It looks awful:

    def __init__(self, *args, **kwargs):
        if len(args) > 0:
            data = args[0]
        elif 'data' in kwargs:
            data = kwargs['data']
        else:
            data = None
        if data is not None:
            data['content'] = ' '.join(data['content'].strip().split())
        super(TagForm, self).__init__(*args, **kwargs)

有没有一些简洁的解决方案?

Is there some laconic solution?

推荐答案

如果 / elif c> / else 容易地到一行:

You can compress the if / elif / else onto one line easily enough:

def __init__(self, *args, **kwargs):
    data = args[0] if args else kwargs.get('data', None)
    if data:
        data['content'] = ' '.join(data['content'].strip().split())
    super(TagForm, self).__init__(*args, **kwargs)

如果args 工作以及如果len(args) > 0 因为 length == 0 项目是 False length > 0 项目是 True

if args works as well as if len(args) > 0 because length == 0 items are False and length > 0 items are True.

code>如果数据不是无,则,因为您假定数据至少有一个关键,如果它是不是无无论如何,如果它有一个键,它的 True

if data works as well as if data is not None because you're assuming that data has at least one key if it's not None anyway, and if it has a key it's True.

这篇关于清理前将数据传入django表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆