Django的admin样式丢失【静态文件收集】
在部署完Django项目后,进行admin后台登录发现样式丢失,后台日志显示:js和css文件丢失
解决办法:
配置settings.py如下:
#DEBUG打开时,app的静态文件默认从这里读取
STATIC_URL = '/static/' #静态文件根目录,当关闭DEBUG的时候admin从STATIC_ROOT获取静态文件,同时需要配置url
STATIC_ROOT = ("f:/py_workspace/DJ/proj/people/static/") #Django部署在Apache服务器后的公共静态文件路径STATICFILES_DIRS
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "common_static"),
)
配置url.py如下
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
然后,进行 python manage.py collectstatic 操作,将相关静态文件都copy到static_root的路径下 【实际是copy了admin的static文件到app的static文件夹内】
刷新即可看到已经渲染成功。
参考:https://blog.csdn.net/a657941877/article/details/8953233
其他参考:
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。
关键的概念:Django中,静态资源的存放通过设置 STATIC_URL, STATICFILES_DIRS 来设置,一般STATIC_URL设置为:/static/
STATIC_URL='/static/', 这个static 是在Django 具体APP下建立的static目录,用来存放静态资源。而STATICFILES_DIRS一般用来设置通用的静态资源,对应的目录不放在APP下,而是放在Project下,例如:
STATICFILES_DIRS=(os.path.join(BASE_DIR, "common_static"),)
具体在模板文件中访问的时候,都是统一用:/static/资源名的方式,就可以访问到资源,不论具体的目录是APP下的static,还是project下的common_static, 都可以用/static/资源名的方式访问到。
为增强可移植性,在模板中可以用:STATIC_URL来代替具体的/static/来设置资源路径,但是需要在settings.py中2个地方进行设置,否则会发生取不到资源的错误:
1. INSTALLED_APPS 中,加入 'django.contrib.staticfiles'
2. TEMPLATES 中,context_processors中,加入django.template.context_processors.static
模板中调用时:
<img src="{{STATIC_URL}}pic.jpg " />
Django的admin样式丢失【静态文件收集】的更多相关文章
- 解决django配合nginx部署后admin样式丢失
解决django配合nginx部署后admin样式丢失 1. 在项目的settings.py文件里添加以下内容: STATIC_URL = '/static/' STATICFILES_DIRS = ...
- Django学习之十: staticfile 静态文件
目录 Django学习之十: staticfile 静态文件 理解阐述 静态文件 Django对静态文件的处理 其它方面 总结 Django学习之十: staticfile 静态文件 理解阐述 ...
- 当Django中Debug=False,静态文件处理方式。
Django设置DEBUG为False时,'django.contrib.staticfiles'会关闭,即Django不会自动搜索静态文件,静态文件不能加载导致的问题有两个: 1.页面排版不正常,即 ...
- django 项目运行时static静态文件不能加载问题处理
一.首先检查网页中的加载路径是否正确,如果和文件所在路径不一致,就把html改下路径 二.加载路径和文件实际路径一致,看下配置文件: STATIC_URL = '/static/'STATIC_ROO ...
- django在关闭debug后,admin界面 及静态文件无法加载的解决办法
当debug为true的时候,ALLOWED_HOSTS是跳过不管用的.所以这里需要将debug关掉,令debug=false,ALLOWED_HOSTS=[ '*' ]表示所有的主机都可以访问 开启 ...
- django关闭debug后,静态文件的处理
Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...
- Django 配置文件settings注解(含静态文件和上传文件配置)
基于Django1.11配置文件settings.py import os import sys # Build paths inside the project like this: os.path ...
- django复习-2-配置、静态文件与路由
一.配置文件 1. BASE_DIR BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) __file__指当 ...
- Django基础,Day7 - 添加静态文件 static files
添加css样式文件 1.首先在app目录下创建static文件夹,如polls/static.django会自动找到放在这里的静态文件. AppDirectoriesFinder which look ...
随机推荐
- C语言-十进制转换为二进制函数
char * itobs(int num, char * str) { int i; * sizeof(int); ; i >= ; i--, num >>= ) { str[i] ...
- ios 自动布局水平跟垂直居中
[view addConstraint:[NSLayoutConstraint constraintWithItem:segment attribute:NSLayoutAttributeCenter ...
- Jquery全选与反选点击执行一次的解决方案
在做项目时遇到一个bug,checkbox全选与反选功能,只能点击一次,再点就不起作用了,为了解决此问题,我查找了好多资料,下面把具体解决方案整理分享给大家,需要的朋友可以参考下: 代码需求, 使用a ...
- jQuery中事件绑定
一.前言 最近在做项目中要用到jQuery来绑定事件,首先想到的是$(selector).事件名();这样绑定事件的方式,这种方式对事件进行绑定其实也就是bind()方法,但当选择器匹配的元素过多,$ ...
- SGDMA-----Scatter-gather DMA
Scatter-gather DMA 使用一个链表描述物理上不连续的存储空间,然后把链表首地址告诉DMA master.DMA master在传输完一块物理连续的数据后,不用发起中断,而是根据链表来传 ...
- 阿里云RDS备份的tar格式包恢复到本地自建数据库
说明 阿里云RDS-mysql数据库是通过percona-Xtrabackup进行备份的,所以恢复时也需要安装该软件. 另外注意的是:你自己下载的MySQL版本要和阿里云上的MySQL版本一致,不然会 ...
- nginx反向代理批量实现https协议访问
我们进入大多数HTTPS网站ie浏览器都会给出相关提醒了,但我配置了一台HTTPS代理机器发现css与js都加载不了,这个有朋友说是https页面,如果加载http协议的内容,会被认为页面不安全,所以 ...
- java - day12 - InteraceTest
接口的实现.继承等 package test.interfacedemo; import test.interfacedemo.Inter; public class InterfaceDemo { ...
- Chromium浏览器组件设计意图
在文章開始之前.我要叽歪几句,一上来就看Chrome的代码.简直晕头转向,摸来摸去莫不着头脑,好不easy看了一点点代码.却犹如瞎子摸象.无法众观全局.以下这篇小文,简介当中一个重要的模块--Comp ...
- SlidingMenu官方实例分析1——ExampleListActivity
1.SlidingMenuDemo下载: 由AndroidManifest.xml能看出项目是从ExampleListActivity启动的: ExampleListActivity继承了Sherlo ...