## 开启团队项目 ### 创建项目 我们的项目使用Git作为版本控制工具,首先可以在代码托管平台上创建一个新项目。这里我们使用了国内的[“码云”](https://gitee.com)来创建项目,并通过该平台实现版本控制和缺陷管理,当然如果愿意也可以使用[github](https://github.com/)或者国内的[CODING](https://coding.net/))来做同样的事情,当然也可以自己用诸如[Gitlab](https://gitlab.com)这样的工具来搭建自己的代码仓库。创建好项目之后,我们先为项目添加一个名为`.gitignore`文件,该文件用来忽略掉那些不需要纳入版本控制系统的文件,如果不知道怎么编写该文件,可以使用gitignore.io](https://www.gitignore.io/)网站提供的在线生成工具,如下所示。 ![](./res/gitignore_io.png) ### 初始版本 接下来,我们将项目克隆到本地,并为项目创建真正意义上的初始版本。 ```Shell git clone https://gitee.com/jackfrued/fang.com.git cd fang.com python3 -m venv venv source venv/bin/activate pip install -U pip pip install django django-celery django-redis djangorestframework pymysql redis pillow pip freeze > requirements.txt ``` **提示**:在使用pip安装依赖项以后,可以通过`pip check`来检查依赖项是否兼容,确保万无一失。如果希望使用国内的PyPI源,可以按照如下所示的方式进行配置。在用户主目录下找到或创建名为`.pip`的文件夹,并在该文件夹中添加一个`pip.conf`文件,其内容如下所示。 ```INI [global] trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/ # index-url=https://pypi.tuna.tsinghua.edu.cn/simple/ # index-url=https://mirrors.ustc.edu.cn/pypi/web/ # index-url=https://pypi.douban.com/simple ``` 上面的配置文件中使用了阿里云的PyPI镜像,由于该镜像没有使用HTTPS,所以要先将其设置为受信任的站点,当然也可以直接使用下面提供的其他HTTPS镜像。使用Windows的用户可以在用户主目录下创建`pip`文件夹(注意前面有没有点)并添加该配置文件,文件名为`pip.ini`。 接下来创建项目和应用,通常我们会对项目中的功能进行垂直拆分,因此需要创建多个应用来对应不同的功能模块。 ```Shell django-admin startproject fang . python manage.py startapp common python manage.py startapp forum python manage.py startapp rent ``` 对项目的公共配置文件进行必要修改后,就可以通过反向工程(根据关系型数据库中的表来生成模型从而减少不必要的重复劳动)完成对模型类的创建,反向工程生成的模型可能需要适当的修改和调整才能应用于项目,尤其是存在多对多关系的时候。 ```Shell python manage.py inspectdb > common/models.py ``` 如果需要使用Django的admin项目或者第三方xadmin,还需要执行迁移操作来创建额外的数据库表。 ```Shell python manage.py migrate ``` 至此,我们就可以将当前的工作纳入版本控制并同步到服务器。 ```Shell git add . git commit -m '项目初始版本' git push ``` ### 日常开发 不管是使用“git-flow”还是“github-flow”,都不能够在master上面直接进行开发,对于后者要创建自己的分支并在上面进行开发。 ```Shell git checkout -b jackfrued git add . git commit -m '提交的原因' git push origin jackfrued git branch -d jackfrued git checkout master git pull git checkout -b jackfrued ```