Django静态文件在cPanel上失效,管理员界面无CSS求助
解决cPanel共享主机上Django Admin无CSS样式问题
你的静态文件配置:
STATIC_URL = 'static/' STATIC_ROOT = '/home/mywebsite/public_html/dj/static/'
已经执行manage.py collectstatic并重启应用,但Admin界面无样式,大概率是.htaccess没有正确映射静态文件请求,按以下步骤操作:
- 找到你Django项目在cPanel中的根目录(对应
/home/mywebsite/public_html/dj/),在该目录下创建或编辑.htaccess文件 - 将以下内容写入
.htaccess:
RewriteEngine On RewriteBase /dj/ # 处理静态文件请求 RewriteRule ^static/(.*)$ /dj/static/$1 [L] # 其余请求交给Django处理 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ wsgi.py/$1 [L]
如果你的Django项目直接放在public_html下(而非子目录dj),则修改.htaccess为:
RewriteEngine On RewriteBase / # 处理静态文件请求 RewriteRule ^static/(.*)$ /static/$1 [L] # 其余请求交给Django处理 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ wsgi.py/$1 [L]
注意:
- 确保
STATIC_ROOT对应的目录确实存在collectstatic生成的静态文件(比如admin/css/下的文件) - 在cPanel文件管理器中编辑
.htaccess时,要开启显示隐藏文件(文件管理器右上角"设置"中勾选对应选项)
内容的提问来源于stack exchange,提问作者Nadirspam
相关产品推荐
相关产品推荐

