在django中是否有相当于rails的尝试?

时间:2017-10-12 15:15:11

标签: django

在Rails中,当您不确定对象是否存在时,可以调用try。

def method(foo)
  foo.try(:bar)
end

如果foo存在,则会调用foo.bar,如果不存在,则会返回nil。 Django中是否有类似的机制?

2 个答案:

答案 0 :(得分:2)

没有。您必须捕获异常并返回None

def method(foo):
    try:
        return foo.bar
    except (TypeError, AttributeError):
        return None

或者,您可以使用getattr()检查给定对象是否具有该属性:

def method(foo):
   return getattr(foo, "bar", None)

答案 1 :(得分:0)

我认为这应该有用

  <TextView
        android:id="@+id/number_one"
        android:autoSizeTextType="uniform"
        android:gravity="center"
        android:text="1"  />