博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django学习之天气调查实例(3):部署静态文件CSS、JS、images等(部署环境基于Ubuntu)...
阅读量:4507 次
发布时间:2019-06-08

本文共 1339 字,大约阅读时间需要 4 分钟。

  在设计登录界面时,采用了网上下载的登录模板,漂亮,简易。但是在测试和部署时,发现原来模板中采用的js文件和css文件,却着实让我折腾了好几天。

  在以往的网页设计中,一般只要把测试站点开启后,网页中的静态文件就不会出现连接的问题,但是在Django中,包括开发环境,也包括部署环境,竟然在设置中都有所不一样,现在将自己的经历写下来,也便于以后查看。

  1.开发环境的设置

  (1)开发环境可以用IDLE(默认)或Pycharm,这个没有影响。首先在自己的APP中创建一个存放静态文件的文件夹,名称为“static”。如笔者的项目名称为:website,里面自动生成一个website,在该文件夹中创建static文件夹。如下图所示:

  (2)设置settings.py文件

STATIC_URL = '/static/'    STATIC_ROOT= os.path.join(BASE_DIR, 'static')STATICFILES_DIRS = (os.path.join(    BASE_DIR,'website/static'),              #这里的地址注意要加上APP名称,如website)

  

  (3)在html文件里可以直接使用该路径即可,如:

   这样设置后,在开发环境就可以使用静态文件了。

 

  2.部署环境设置(基于Ubuntu16.04)

  当在开发环境完成的Django项目文件复制到基于Ubuntu环境的Django站点目录后,测试时发现静态文件不能正常显示。网上找了许多的方法,可能没有完全理解吧,折腾了好几天,到现在为止才算是真正完成。 

  (1)项目下添加static文件夹

  笔者测试后发现,在开发环境调整的settings.py设置在部署环境也是可以的,也就是说settings.py文件不需要更改,直接复制到相应的地方即可。

  在部署环境的项目文件夹创建static文件夹。如下图所示:

  注意:这个地方与开发环境有所不同。在部署环境中,需要通过下面第二步,将原本开发环境中的静态文件全部复制到该文件夹中。

  (2)复制文件到上面的文件夹命令:

python3 manage.py collectstatic

  通过该命令,Django会把静态文件包括相应的文件夹,全部复制到项目根目录的static文件夹中。

  完成该步骤后,进行测试,发现静态文件还是不能访问。经过多次查证后发现在Apache服务器中,无法找到static文件夹,然后继续百度,一番查询后,最后得到的结果是:需要在apache中设置虚拟路径。

  所以通过命令首先进入: /etc/apache2/sites-available,然后修改  website.conf。在中间增加一条语句:

Alias /static/ /var/www/website/static/

  添加后需要让该配置生效,所以做如下操作:

service apache2 reload

  至此,部署环境中的静态文件正常工作了。

 

转载于:https://www.cnblogs.com/KKSoft/p/8082033.html

你可能感兴趣的文章
Arduino基本函数介绍
查看>>
Keil C51 的printf
查看>>
关于指针
查看>>
C 語言中的 sprintf() 函數
查看>>
VMware Worstation下载安装
查看>>
Qt操作Sqlite数据库
查看>>
java生产者与消费者模式
查看>>
SPOJ #442 Searching the Graph
查看>>
窗体美化,IrisSkin2.dll的使用!
查看>>
C语言声明数组变量时,在什么情况下,可不指定数组大小
查看>>
对模拟博客园登陆的改进---软件的开发规范
查看>>
简易csv解析
查看>>
JS案例之4——Ajax多图上传
查看>>
登陆系统的设计2 - 登陆页面的三种形式
查看>>
位运算---水题
查看>>
原码 反码 补码 移码
查看>>
mysql事务之savepoint
查看>>
日常零碎总结
查看>>
循序渐进开发WinForm项目(6)--开发使用混合式Winform模块
查看>>
在WinForm应用程序中快速实现多语言的处理
查看>>