2017-10-11 154 views
0

在Django中,我从请求对象中提取值,并且想要设置默认值(如果它是空的)。当空字符串返回默认值

我想我可以做这样的事情:

request.POST.get('extended_address', 'this is a default value') 

但是,它返回一个空字符串这使我相信,这只适用于无返回类型。

有没有办法为空字符串设置默认值?

+0

使用表格,这是他们的目的。 – RemcoGerlich

+0

对不起,没有有用的评论。我正在使用表格,但要求正确的方式来利用。 – SteveV

+0

那么你总是可以写'request.POST.get('extended_address')或'这是一个默认值',但是在Django中这样做是错误的。 – RemcoGerlich

回答

2

request.POST返回一个QueryDict,它是dict的一个子类。像任何字典一样,.get()返回键值,如果它存在于字典中,并且只在键完全缺失时才返回默认值。如果POST数据确实包含密钥,则该密码将作为空值存在于字典中。

请注意,Django有一个完美的预处理发布数据的方式,也就是通过使用表单框架。

+0

谢谢!宁愿使用适当的Django方法。你会推荐我看看表单框架逻辑? – SteveV