Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在django中是否有类似rails的试用版?_Django - Fatal编程技术网

在django中是否有类似rails的试用版?

在django中是否有类似rails的试用版?,django,Django,在Rails中,当您不确定对象是否存在时,可以调用try def method(foo) foo.try(:bar) end 如果foo存在,它将调用foo.bar,如果不存在,它将返回nil。Django有类似的机制吗?没有。您必须捕获异常并返回None: def method(foo): try: return foo.bar except (TypeError, AttributeError): return None 或者,可以使用

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

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

如果
foo
存在,它将调用
foo.bar
,如果不存在,它将返回
nil
。Django有类似的机制吗?

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

def method(foo):
    try:
        return foo.bar
    except (TypeError, AttributeError):
        return None
或者,可以使用以下方法检查给定对象是否具有该属性:


我想这应该行得通

def method(foo):
    return foo.bar if foo and hasattr(foo, 'bar') else None
def method(foo):
    return foo.bar if foo and hasattr(foo, 'bar') else None