python django - static文件处理与线上部署测试
static文件相关操作涉及:
a. 文件位置与访问路径映射
b. setting.py与static相关配置
STATIC_URL
STATIC_ROOT
STATICFILES_DIRS
c. html中对于static文件引用方式
d. python manage.py collectstatic
1. 开发环境-目录结构2. setting.py 设置
STATIC_URL = '/static/'# STATIC_ROOT= os.path.join(BASE_DIR,'static')STATICFILES_DIRS=( os.path.join(BASE_DIR,'static'),)
STATIC_URL中设定的为浏览器实际访问地址。
STATICFILES_DIRS 对应文件路径
html head部分
<head> <meta charset="UTF-8"> <title>Title</title><script src="/static/appcms/jquery-3.3.1.js"></script> <script> $(document).ready(function () { $("h2").click(function () { $("h2").hide() }) }) </script></head>
4.2 引用使用
<head> <meta charset="UTF-8"> <title>Title</title> {% load staticfiles %} <script src="{% static 'appcms/jquery-3.3.1.js' %}"></script> <script> $(document).ready(function () { $("h2").click(function () { $("h2").hide() }) }) </script></head>
5. 线上部署问题
当需要同时部署admin时
运行命令收集static文件 python manage.py collectstatic此时报错
STATIC_URL = '/static/'STATIC_ROOT= os.path.join(BASE_DIR,'static')# STATICFILES_DIRS=(# os.path.join(BASE_DIR,'static'),# )
再运行 python manage.py collectstatic
完成后“static_root”即static目录,产生其他其他项目的static文件夹(含内容)
STATIC_URL = '/static/'# STATIC_ROOT= os.path.join(BASE_DIR,'static')STATICFILES_DIRS=( os.path.join(BASE_DIR,'static'),)
程序打包,上传到服务器,测试通过
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。