我正在本地 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
结合使用.
关于Django 路径,在 windows 中开发,在 linux 上部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359187/