django中settings.py中的相对路径

Jib*_*bin 1 django mod-wsgi relative-path

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

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()
Run Code Online (Sandbox Code Playgroud)

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

好吧,我的问题是 - 现在我们已经将我的项目路径导入到wsgi脚本中的系统路径,我提供相对路径是不是更可行settings.py,因为这会使部署更容易.如果我错了请告诉我是标准程序,以便我可以在一个文件中设置除3个文件以外的所有路径(Apache-httpd.conf,mod_wsgi-django.wsgi,django-settings.py).

Gra*_*ton 6

使用:

import os
this_directory = os.path.dirname(__file__)
Run Code Online (Sandbox Code Playgroud)

然后:

absolute_directory = os.path.join(this_directory, 'relative.txt')
Run Code Online (Sandbox Code Playgroud)

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