遇到一个问题,在我的本地主机中,这种结构运行得很好: 本地主机 但在 digitalocean 服务器上我得到了这个结构: 服务器 请注意,我如何在服务器上获得一个名为“staticfiles”的额外静态文件夹。 在我的本地主机上,它工作得很好,但在服务器级别,我的管理面板似乎找不到正确的 css/js,因为它正在寻找静态文件夹内的文件。 这些是我的设置文件:
`BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
STATIC_URL = '/静态/'
STATIC_ROOT = os.path.join(BASE_DIR, '静态文件')
STATICFILES_DIRS = [ os.path.join(BASE_DIR, '静态'), ]`
我没有使用 Droplet,而是使用应用程序平台选项。 有什么想法可以帮助我吗?
如果您的 Django 管理面板未在 DigitalOcean 服务器上加载 CSS/JS 文件,则使用 WhiteNoise 提供静态文件可以解决该问题。
1。安装WhiteNoise:
pip install whitenoise
2。更新settings.py:
修改您的settings.py以在中间件中包含WhiteNoise并配置静态文件设置:
# Static files (CSS, JavaScript, Images)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
# WhiteNoise settings
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# Other middleware
]
3.收集静态文件:
运行collectstatic管理命令将所有静态文件收集到STATIC_ROOT目录中:
python manage.py collectstatic
4。运行项目
python manage.py runserver