django 如何从bool中转换的字符串返回false

0md85ypi  于 2022-11-26  发布在  Go
关注(0)|答案(4)|浏览(146)

我无法settings.py从docker(.env)返回www.example.com中的False
DEBUG = os.environ.get('DEBUG_MODE') DEBUG_MODE=False
巨蟒返回:

x = False
bool(x)
False
print(bool(x))
False
x = 'False'
print(bool(x))
True

如何返回False?

1szpjjfi

1szpjjfi1#

试试看:
print(eval('False'))
在文档eval()中查看其用法

oxosxuxt

oxosxuxt2#

eval通常不是一个好主意。
我将使用以下代码:

b = False if x == 'False' else True
tct7dpnv

tct7dpnv3#

任何非空字符串都是真实的,因此bool('False')返回True。
您可以使用一个简单的比较:

print(x == 'True')

或者可以使用ast.literal_eval()解析任何Python文字。

import ast
print(ast.literal_eval(x))
ttisahbt

ttisahbt4#

ANY字符串是以ascii格式进行二进制编码的。

x = ' ' ; print(bool(x))    | >>> True   |

因为即使x=”“,它也不为零|其中[““=空白]
如果你想照你说的做:

  • 方法1:[类型(x)==字符串]:
    *返回BOOLEAN True如果x=“anyString”&False如果其他类型
  • 方法2:[isinstance(x,str)]
    *返回BOOLEANTrue如果为True,则用str(Your_test)将其 Package 以进行字符串比较
  • 方法3:互补逻辑
  • 最初我们给予|x ='假'
    *布尔值= x!= '假'
  • print(布尔值)|〉〉〉〉错
    *加倍恭维布尔值= x == '真'
  • print(布尔值)|〉〉〉〉错

相关问题