Django 管理面板未在 digitalocean 服务器上加载 css/js

问题描述 投票:0回答:1

遇到一个问题,在我的本地主机中,这种结构运行得很好: 本地主机 但在 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 digital-ocean static-files
1个回答
0
投票

如果您的 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
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.