前言:
主要是在开发过程中一些采坑和记录,整理一下资料以防自己以后忘了,也为正在初学或者还未特别熟练使用django的同学能够避开这些,且能够系统性的学习django的使用,这里就不写目录了按照我自己的开发顺序来,大家看到专栏里面的文章顺序就是我的目录了,在本专栏里的代码争取让大家拿到就能用,做一个伸手党,网上好多代码不知道是版本原因还是其他简直是无语,不能用还一堆bug。
一、django简单介绍
django是什么我想不用我多介绍,能从众多的web service框架中选中django,我想你已经进行了深思熟虑了,无非是python胶水的兼容性、易学性、丰富的第三方package,框架大而全的功能,降低学习成本的同时,还有相当好的高并发性能。不要和我说django不如spring mvc什么的,那只是相对而言,并请移步到其他文章,不接受杠精,有几个网站能做到像京东淘宝那样日活成百上千万甚至上亿用户,真的这么牛的网站,我想也不差钱多弄几个集群了。本文不是引战贴,不讨论哪种语言最好,不讨论哪种框架最强,只针对想要使用python,想要使用django框架的同学,如果有杠精或引战直接删评论。
二、django运行系统环境
django在windows和linux下是都可以运行的,这个是不需要讨论的,但是强烈建议选择linux,我们现在的网站服务就是在windows下,因为两个系统的机制不一样,导致django在linux很容易实现的功能在windows会非常难实现甚至无法实现,比如一个简单的定时任务,所有网站都可能有定时任务,在linux下一个contrab搞定的事情,在windows要不就安装linux的执行环境,要不就用celery,我最后使用的是celery,但是也是经过千辛万苦,后面会有专门针对windows下django-celery的文章。
另外一个就是uWGSI在windows上是无法安装的,有的文章说可以但是本人未安装成功,即使可以安装linux上一个命令的事情,windows就不用说了,这就意味着不好意思你的django只能是单线程的,但是针对千百个以下的连接问题也不是很大。
因此强烈建议选择linux,目前我正在做服务迁移,会将服务迁移到linux下,我使用的系统版本是centos7,大家可以作为参考,这部分的会在到时的其他专栏讨论。
三、python及django版本选择
当然是用新的了,不要用python2了,本文所有代码均运行在python3.6.1和django2.1.4下,使用其他版本的请自行转换,如何安装网上教程很多不会出错。
四、IDE选择
强烈建议选择pycharm,我是C++出身习惯上用vs进行调试,可以打断点,可以单步执行,可以看变量,因此pycharm简直是非常适合,且pycharm可以使用docker,windows,linux都可以用,可以看到http传输内容。
pycharm可以到链接:https://pan.baidu.com/s/1yHPphBtAsy_vRGurQHEb_A 提取码:hc77 下载。
五、pycharm开发环境配置
pycharm比较特别,有两种引用第三方库的方式,一个是使用python安装的第三方库即使用pip install + 库名 + 版本号,安装的库;另一种是在pycharm中安装的。
第一种配置系统中的三方库,在创建项目时如下图:
将红笔所画选项勾选即可。
如果已经创建项目了,请依次选择File->Setting->Project:项目名称->Project Interpreter在弹出窗口点击如下图选择Show All,进入后点击加号,新建一个环境将将红笔所画选项勾选即可。如下两图所示。
第二种使用pycharm中的三方库
很简单不勾选红笔所化选项即可,但是此时不能通过pip install来安装第三方库,需要使用pycharm自带工具安装,请依次选择File->Setting->Project:项目名称->Project Interpreter,点击加号。
在新弹出窗口搜索第三方库,选择点击Install Package即可,如下图:
有时可能下载第三方包无法通过pycharm工具来安装,此时只需要将第三方包解压,放在项目路径venv\Lib\site-packages下面就可以了。
最后有时国外源无法使用或者网速不够会导致package下载失败,可以点击上图中的Manage Repositories,配置国内数据源,如下图点击加号填写确认即可,我用的是https://pypi.python.org/simple。
六、生产环境package配置
我们在开发环境中安装了N多的第三方库,到生产环境中不可能一个一个的pip,这时就需要requirement.txt,它记录了你所有的第三方库的信息包括名称和版本,此时只需要将其放入到项目根目录中,直接pip install -r requirements.txt即可安装所有依赖库。当然你要是牛到把除了代码以外的所有package都上传到Git再往下pull就当我没说。生成requirements直接在根目录下,或者pycharm命令行下输入pip freeze >requirements.txt,即可在项目根目录生成requirements.txt文件。
结语:
到此为止,在widows下开发django的所需IDE和配置就已完成,由于pycharm可以远程调试linux下的代码,会在后面服务器迁移的时候进行说明,下一篇文章会讲述django开发前的settings.py文件和路由配置。
https://www.yuntaoz.cn这个网站是我用django开发的示例网站,大家有问题可以在csdn留言给我,比如看网站对哪个功能感兴趣想了解是怎么做的,都可以留言询问,有必要的话我也会单开一个专栏写。
其实成立开设网站需要很多步骤,包括云服务器的选择配置,域名选择购买,域名备案,网站公安网备,https配置,负载均衡,对接支付工具等等,一个正规安全的网站需要很多步骤,后面我会在一个个专栏中系统性的介绍这些,争取用最简单的语言让想要了解这些的同学学习明白!