合并的路径位于基本路径组件的外部

时间:2019-07-25 11:26:40

标签: django deployment static collectstatic

Django 1.9上有一个项目。我将其重写为1.11。但是,当我部署到服务器并进行静态收集时,会出现错误

django.core.exceptions.SuspiciousFileOperation:联接路径(/var/www/vhosts/finbee.freshlimestudio.com/assets/fonts/finbeeFont/fonts/finbeeFont.eot)位于基本路径组件(/var/www/vhosts/finbee.freshlimestudio.com/static)之外

所有回溯here

PROJ_MODULE_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
ROOT = os.path.normpath(os.path.join(PROJ_MODULE_ROOT, ".."))
root_path = lambda *args: os.path.join(ROOT, *args)
path = lambda *args: os.path.join(PROJ_MODULE_ROOT, *args)


STATIC_URL = '/static/'
STATIC_ROOT = ''

STATICFILES_DIRS = (
    path('static'),
)

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'pipeline.finders.PipelineFinder',
)

1 个答案:

答案 0 :(得分:1)

lambda函数是否必要?这样的事情应该起作用。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__), '..'))

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]