首页 > 解决方案 > 没有 CSS 的 Django 3 管理链接即将到来

问题描述

Admin 链接缺少 css,查看源代码时返回 404。.conf 文件是

<VirtualHost *:80>

ServerAdmin webmaster@example.com
DocumentRoot /var/www/django/medicalai
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /static /var/www/django/medicalai
<Directory /var/www/django/medicalai/static>
Require all granted
</Directory>

<Directory /var/www/django/medicalai>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

WSGIDaemonProcess medicalai python-path=/var/www/django/medicalai python-home=/var/www/django/venv
WSGIProcessGroup medicalai
WSGIScriptAlias / /var/www/django/medicalai/medicalai/wsgi.py
WSGIPassAuthorization On

</VirtualHost>

静态文件包含。

STATIC_DIR = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    STATIC_DIR,
]

静态文件夹和文件在这里。/var/www/django/medicalai/static/admin/css

使用 python manage.py collectstatic 下载所有文件和文件夹。

但是当我打开http://example.com/admin/login/?next=/admin/时没有 CSS 请帮忙指出错误。

标签: pythondjango

解决方案


可能会发生此问题,因为您在运行时没有 配置STATIC_ROOT

python manage.py collectstatic

此设置的作用是将所有STATICFILES_DIRS目录中的所有静态文件复制到为生产服务准备的单个 ROOT 中。

STATIC_DIR = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    STATIC_DIR,
]
STATIC_ROOT = '/var/www/django/medicalai/static/'

推荐阅读