Django 路径,在 windows 中开发,在 linux 上部署

标签 django path

我正在本地 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/

相关文章:

python - 带有对象列表的 Django 表单

java - 从java启动jar : execution path and relative resources

python - 如何从文本文件中的 jpeg 图像文件列表中打开图像 - 变量形成

django - 使用 Django 建立有状态连接

python - Django 中是否可以继承多个抽象基类?

python - Pycharm打不开manage.py任务

c# - 相对路径 Visual Studio

php fopen 相对路径损坏 - 神秘

python - 在 Python 中查找每个正在运行的进程的路径

python - 扩展 session 中间件