Django admin后台管理无样式,报错找不到静态文件

在使用Python Django框架和uWSGI部署时,遇到后台管理系统样式丢失问题,表现为无法找到静态文件。解决方案包括检查settings.py配置,确保STATIC_URL和STATICFILES_DIRS正确设置。同时,在urls.py中加入静态文件路由。在项目根目录创建static文件夹,并通过`python manage.py collectstatic`命令收集静态文件。如果仍存在问题,可手动将admin静态文件复制到相应位置。最后,提供uwsgi配置文件(mysite.ini)和nginx配置(/etc/nginx/nginx.conf)示例,正确配置后,通过uwsgi启动配置文件,后台样式显示恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python+django+uwsgi
创建超级用户进入admin后台管理时,发现没有样式,报错找不到静态文件(报错如下)

Not Found: /static/admin/css/dashboard.css
Not Found: /static/admin/css/base.css
Not Found: /static/admin/css/responsive.css
Not Found: /static/admin/css/base.css
Not Found: /static/admin/css/dashboard.css
Not Found: /static/admin/css/responsive.css

目录结构
这里写图片描述
首先检查mysite/settings.py要有以下配置:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')

然后urls.py 文件

from django.contrib import admin
from django.conf.urls import url,include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
    url(r'^admin/',admin.site.urls),
 ] + static(settings.STATIC_URL,document_root = settings.STATIC_ROOT)
~

在mysite里创建static目录,执行python manage.py collectstatic (会自动把python里site-packages/django/contrib/admin/static/admin下的文件复制到static文件夹下,也可自己找到文件路径进行手动复制)

粘上uwsgi配置文件,以及nginx的配置
mysite.ini

[uwsgi]
master=true
chdir=/root/myproj/mysite/
module=mysite.wsgi
py-autoreload=1
lazy-apps=true
socket=127.0.0.1:8000
processes=2
buffer-size=32768
#daemonize=logs/uwsgi.log
log-maxsize = 5000000
vacuum = true
disable-logging = true

/etc/nginx/nginx.conf

在server里添加以下代码
location /static {
            alias /root/myproj/mysite/static/;
        }

        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8000;
        }

最后运行 uwsgi -i mysite.ini 再访问admin后台就正常了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值