超详细的django1.8处理centos下nginx上处理静态文件步骤!

本文详细介绍了如何在Django项目中正确配置并部署静态文件,包括在开发环境和生产环境中不同设置下的步骤,以及如何使用Nginx进行服务器配置。

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

这个坑摆弄了一天!

首先看我的项目目录:


1.static文件整个目录有两个,一个在项目根目录下标记为1的,另一个是在项目app下标记为2的。需要注意的是2处的文件名必须为static,django会根据static文件名去查找,之所以在static下又加入了wechat文件,是为了防止以后项目里有多个app时候static太多分不清所以设置的命名空间,为什么会分两个static呢下面解释。

2.首先如果你是DEBUG环境下,那么项目settings.py下degub设置为True,这样的话django1.8是会自己去找静态文件,不需要你改动任何操作,貌似低版本需要在urls里加入处理静态文件的server,总之我调试的1.8版本在debug模式下不需要任何操作就可以加载到静态文件。

  1. DEBUG = True  
3.那么令人头疼的问题来了,在开发服务器下,静态文件是加载不到的,一直显示是404找不到文件,我的html里加载静态文件的代码是这样的:

  1. {% load staticfiles %}  
  2. <!DOCTYPE html>  
  3. <html lang="en">  
  4. <head>  
  5.     <meta charset="UTF-8">  
  6.     <link rel="stylesheet" type="text/css" href="{% static 'wechat/css/style.css' %}" />  
  7.     <script src="{% static 'wechat/js/home.js' %}"></script>  
  8.     <title></title>  
  9. </head>  
  10. <body>  
  11. <p class="test">this is first Django Page</p>  
  12. </body>  
  13. </html>  
4.首先我的app下是有静态文件的,也就是第一章图标记为2的地方,我html里引用的也是2处的静态文件,另外django自带的admin后台管理也会加载自己的静态文件,如果放在开发服务器上admin的静态文件也是找不到的,如果你不用admin后台管理,可以忽略我刚说的这些,为了开发迁移到开发服务器方便,你需要在settings里设置STATIC_ROOT让所有散乱在项目的静态文件都集中到一起直接迁移到开发服务器上,django会自动根据你html里引用的去找静态文件,也就是说你什么都不用做,django帮你完成,我是这样理解的,虽然你引用的是2处的静态文件,但是在开发服务器上会去1处找对应的文件,现在在settings里设置一下:

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

5.BASE_DIR是项目根目录,我对应的是D:\\Pycharm\\wechat_huoyun,那么STATIC_ROOT对应的就是D:\\Pycharm\\wechat_huoyun\\static也就是第一张图里的1的标记地方。之后在命里行里进入到和manage.py相同目录下执行:

命令会把所有项目(blog\web)下静态文件拷贝到项目根目录(static)下

  1. python manage.py collectstatic  


6.之后django会自动把项目里所有静态文件,包括admin或者你有多个app下的所有静态文件都集合整理到你STATIC_ROOT设置的目录里,也就是第一章图里标记为1的地方。下次你改动js文件只要再次执行此命令,然后直接迁移STATIC_ROOT里的文件到开发服务器里就可以了。现在需要迁移到开发服务器里了首先把debug改为False,另外需要设置允许访问的host:

  1. DEBUG = False  
  2. ALLOWED_HOSTS = ['*']  

7.之后本地做的事情就OK了,现在需要配置服务器nginx.conf了:127.0.0.1:/static/web/css/style.css  可以web访问即可

  1. location  /static {  
  2.     autoindex on;  
  3.     alias  /root/wechat_huoyun/static;  
  4. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值