django中settings.py中的相对路径

时间:2011-09-30 05:13:28

标签: django mod-wsgi relative-path

对于settings.py中的各种设置(MEDIA_ROOT,TEMPLATE_DIRS),它被指示给出绝对路径。我已经使用mod_wsgi配置了apache。我在名为apache的文件夹中有一个wsgi脚本,重定向到{{1 }}。

settings.py

(不要误解 - Django是我项目的名称。)

好的我的问题是 - 现在我们已经将我的项目路径导入到wsgi脚本中的系统路径,我在import os import sys path = 'D:/Projects/Dan' if path not in sys.path: sys.path.append(path ) os.environ['DJANGO_SETTINGS_MODULE'] = 'Django.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 中给出一个相对路径是不是更可行,因为这会使部署如果我错了,请告诉我标准程序,以便我可以将所有路径设置在一个文件中,而不是3个文件(Apache-httpd.conf,mod_wsgi-django.wsgi,django-settings.py)。

1 个答案:

答案 0 :(得分:6)

使用:

import os
this_directory = os.path.dirname(__file__)

然后:

absolute_directory = os.path.join(this_directory, 'relative.txt')
然而,鉴于Django包本身就是'django',所以称你的项目为'Django'是不明智的。在不造成混淆的情况下,您不应该依赖差异。简而言之,Python包/模块名称应该根据具体情况而有所不同。您的站点项目目录被视为Python包,因此问题。