我的fabfile.py
中有以下功能def _update_settings(source_folder, site_name):
settings_path = source_folder + '/superlists/settings.py'
sed(settings_path, "DEBUG = True", "DEBUG = False")
sed(settings_path, 'DOMAIN = "localhost"', 'DOMAIN = "%s"' % (site_name,))
运行fabfile后,将site_name设置为tdd.box.tk
,我有以下输出
DEBUG=False
DOMAIN='localhost'
而不是
DEBUG=False
DOMAIN='tdd.box.tk'
DOMAIN不会更改为传递的site_name变量。 我知道问题在于字符串替换路径,但无法弄清楚
答案 0 :(得分:1)
我能够找到解决方案。事实证明,在我的settings.py中我有
DOMAIN='localhost'
而不是
DOMAIN="localhost"
sed
函数中的字符串必须与您要替换的文件中的字符串完全匹配。