最近要弄一个项目,优先考虑用Django去实现。
所以先要去Mac本地搭建Django的开发环境。
mac django
mac django dev
还是参考官网吧
2.0 ->3.4, 3.5, 3.6, 3.7
2.1-> 2.23.5, 3.6, 3.7
此处Mac本地是Python 2和3都有,3是3.6
服务器中Python也是2和3都有,3是3.4,不过现在好像改为anaconda的3.6了:
[root@xxx-general-01 ~]# which python /root/miniconda3/bin/python
那就好,都是3.6了。
那就选用Django最新版本2.1吧
然后还是用pipenv的虚拟环境去搭建
关于部署,Django推荐是Apache+mod_wsgi,不过此处是nginx,所以用uWSGI:
client-server模型:
nginx(Web server) <-> django-uwsgi(worker)
关于部署的事情,后面再说,再细看。
【整理】Django最新2.1版本后不支持MySql 5.5
所以现在是:
对于mysql版本:
- 服务器上是:5.5.56-MariaDB
对于:如果使用了最新的Django 2.1,其不支持MySQL 5.5,
然后部署到服务器中,是否会出现问题:
暂时不去管,估计不会出现问题
真是出现问题,再去解决就好。
manage.py migrate
就是用于自动新建数据库的(根据你的table表和model模型)
(当然是在安装了Django和创建了新项目之后)
关于是否使用自动生成数据库:
- 想要简单和省事:当前是用Django自动生成数据库了
- 考虑到和现有数据库是否有冲突:
- 背景:
- 我们多个web和nlp的项目公用一个数据库
- 之前已经有nlp的table和一个Django的web的项目所自动生成的表了,比如auth_group,django_migrations等等
- 担心:
- 如果是第二个Django项目也是自动生成表的话,会不会和现有项目冲突了
- 所以感觉还是自己手动创建,更靠谱,或者说不会冲突
不过具体采用 自动 还是 手动,到时候再去决定
去看看别人都是用哪种方式
django db create auto vs manually
django 创建数据库 自动 vs 手动
Django遇到的问题—-mysql db与models反复修改所牵扯的问题 – NeverSayNever – CSDN博客
解释的不错。包含很多数据库的涉及的细节的点
更详细的官网文档是:
然后此处去看看之前已有项目中的:
apps/script/migrations/0003_auto_20180704_1748.py
-》感觉和之前折腾过的Flask的数据库改动所用的alembic相比,还是省事多了
-》不用自己太操心,Django自动处理内部细节,且生成的代码,感觉逻辑上更加清楚。
后来发现django官网文档有中文版的:
-》
转载请注明:在路上 » 【记录】Mac中搭建本地Django开发环境