Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614.html
搭建Django环境似乎是一件很简单的事情,其实不然,苦命的我折腾了大半天才好, 遂在此总结下整个搭建过程,同时也愿刚入门的同行少走弯路~
现在开始,所需工具:
MAC电脑
Pycharm 2017 for MAC
jdk1.8
Python3.6
postgreSQL 9.6.6
Toad/navicat/pgAdmin 数据库工具 (非必须)
大致需要这些东西,至于为什么要装jdk,大概是Pycharm本身部分依赖于java环境,可以看看产品说明可略窥一二:
嗯~,还有postgreSQL如何安装及配置本章咱不表,因为本人将pg数据库安装在单独的一台linux(debian)主机上,如果需要以后可以讲讲~
OK!现在开始细说整个配置过程:
A> 安装完所有必备的软件后,第一次打开会有一个Pycharm欢迎页面:左侧是用户已经创建的项目(新用户这里没有,可以忽略),右侧是项目创建类型,直接选择第一项“Create New Project”即可,之后在新窗口中左侧Django项目,同时注意右侧的“文件目录location”与“Python环境 interpreter”,这个环境一定要与当前创建的Django版本相适应,这里说一下:我用的是django1.11和Python3.6,选择后大概会有一段下载的过程可能比较慢,耐心等待哈~;图==》
B>好~,进入Pycharm主界面后会项目大概是如下所示的结构,这里需要说明的是,默认运行的时候会应用sqlite3的数据库(见下图),嗯~,一开始怎么运行这个django项目呢,答案是:命令行(需要用到mac的默认终端,如下第二图),这里主要注意的是,如果如果装有Python3的的用户建议使用python3打头的命令才能使用python3开启服务(默认的是"python manage.py runserver",默认端口号为8000),浏览器访问地址亦见下图(http://127.0.0.1:8000),下图==》
嗯~,当面主题工程貌似已经完毕了,但作为实际项目开发在此需要解决如下三个问题:
1>需要切换到postgreSQL数据库
2>启动Django项目及其的不便,需要一键开启django服务
3>如何在当前Django项目中新建一个App?
C>现在我开始总结下第一个问题的解决方法:配置pg数据库,如果数据库安装在其他机器上,需要先使用本机终端远程访问数据库(要保证数据库处在确实可以连通的状态,怎么远程连接数据库不是本文重点暂且略过),需要配置django项目下的setting.py配置文件,同时还需要配置django的pg数据库的连接包(相当于java项目中的jdbc包)psycopg2包,由此django数据库配置完毕,具体均参照下图-->
D>数据库配置完毕,接下来我总结下如何配置Django server服务一键开启
配置一键开启服务只需要在菜单内配置即可,在这之前建议将快捷菜单显示出来(View菜单->Toolbar选项)
E>以上配置完毕也算是结束了,实际上并没有完成,当前创建的只是一个主项目,这个项目只包含了一个一些基本的配置,一般开发的时候都会根据需要新建一个单独的App,听起来是不是很不一样(如果是学java的同学就会有疑问了),这里我给出的解释是:这是Django项目的规范,方便同一个项目的模块隔离开发,既开发方便又维护方便,反正我就是这么认为哈~;好了,此功能也很简单只需要用到Tool菜单下的“run manage.py task..."命令,随后在命令窗口给一个App的名字然后回车即可(如有报错请根据输出的日志检查下报错原因),注意,此配置的最后需要将App的名称加入到主项目的setting.py中(INSTALLED_APPS变量)才可使用!
!!至此,Django项目已基本搭建完成,但有几个小问题需要挂出来:
第一点》不管是切换数据库还是新建一个App,都要在终端中执行下这个命令:"python manage.py migrate",此命令以更新项目配置,如图-->
第二点》项目正常运行,如何知道项目是否已经成功切换至目标数据库?对于这个问题我想说的是:请直接用客户的查询下里面的表就知道了(我用的是Toad),具体看图-->
作为最后的结束语,展示下第一个Django页面,很low~,具体添加过程请看下图,不多解释 有问题自行检索哈~
最最最后(有点儿啰嗦哈~),此工程的顺利搭建非常非常感谢国内外社区,这些社区包括但不仅限于:stackoverflow、开源中国以及 自强学堂 的django教程,同时说下:stackoverflow是一个非常优秀的开发者问答平台,给我解决了非常多的开发问题,建议读者进去走走-->https://stackoverflow.com/
现在是:2017-11-21 20:16:42 (星期二),各位晚安( ̄︶ ̄)/