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