django.core.exceptions.SusciousFileOperation:联接的路径位于基本路径组件之外



这在以前做django网站时都很好,但这次它给了我一个错误。

设置.py

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'portfolio/static/')
]
STATIC_ROOT = os.path.join(BASE_DIR , 'static')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

我的目录Portfolio Project/Portfolio/static/profile.jpg中有一个profile.jpg。它应该从这里收集static,并将我的代码中提到的静态文件粘贴到Portfolio Project/static中。但它给了我一些错误。

使用命令"Python manage.py collectstatic"后出错

django.core.exceptions.SuspiciousFileOperation: The joined path 
(C:UsersKiranDesktopportfolio-projectportfoliostaticProfile.jpg) is 
located outside of the base path component 
(C:UsersKiranDesktopportfolio- projectportfoliostatic)

请帮忙。感谢

在您的行中:

os.path.join(BASE_DIR, 'portfolio/static/')

删除最后一个斜线:

os.path.join(BASE_DIR, 'portfolio/static')

无论如何,这是理想的:

STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'

我最近遇到了这个错误,但实际上很简单:

如果您下载了模板,以下是解决方案:首先,你必须检查你的css文件中的相关链接之类的东西

例如,您的CSS可能引用了django项目本身之外的文件。

例如backround:url('...imageProfile.jpg'),这实际上对我有效

注意:
关键的事实是,如果你的CSS或(可能是js(文件是一个你没有使用的引用文件,或者该文件引用了不在django项目目录中的东西,那么首先要检查它。

最新更新