我正在本地Windows计算机上开发Django应用,然后将其部署到托管的Linux服务器。两者之间的路径格式是不同的,在部署之前花费更多的时间进行手动替换。我可以基于设置文件和if语句中的变量进行编码,但我想知道是否有人对此场景有最佳实践。
最佳答案
Django书建议使用os.path.join
(并在Windows上使用斜杠而不是反斜杠):
import os.path
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),
)
我认为这是最好的解决方案,因为您可以轻松地创建类似的相对路径。如果您有多个相对路径,则辅助函数将缩短代码:
def fromRelativePath(*relativeComponents):
return os.path.join(os.path.dirname(__file__), *relativeComponents).replace("\\","/")
如果需要绝对路径,则应将环境变量(带有
os.environ["MY_APP_PATH"]
)与os.path.join
结合使用。