当前位置: 首页 > 后端技术 > Python

理想的Django环境设置

时间:2023-03-25 20:06:26 Python

在开发、测试、生产等所有环境都使用同一个数据库引擎。使用的数据库不同,会存在以下问题:生产环境获取的数据无法原封不动的恢复到本地不同的数据库对测试有不同的类型/限制,Django的ORM并不完善,不能依赖fixture来排除本地和生产环境之间的数据库差异。Fixtures只能用于创建简单的硬编码测试数据,不能用作数据库无关的数据插入工具Django项目一般使用PostgreSQL,安装PostgreSQL:Mac:下载一键安装程序Windows:下载一键安装程序Linux:通过包管理器安装,或者按照这个文档使用Pip和VirtualenvPython3.4及以上版本已经默认包含Pip,安装方法:pip:http://pip-installer.orgvirtualenv:http://virtualenv.org自virtualenv使用难度大,建议在virtualenv的基础上安装使用virtualenvwrapper:对于MacOSX和Linux:virtualenvwrapper对于Win:virtualenvwrapper-win通过pip安装Django和其他依赖包每个Django项目都应该有一个需求。txt文件,指定依赖包名称及其版本。设置PYTHONPATH将您的项目根目录添加到其Virtualenv的PYTHONPATH中,运行pipinstall-e。在项目根目录中。更多文献:http://cs.simons-rock.edu/python/pythonpath.htmlhttps://docs.djangoproject.com/en/1.8/ref/django-admin/使用版本控制系统最流行的工具是Git和水星。托管服务是github和bitbucket。使用相同的环境可以消除以下环境差异:操作系统差异:比如在Mac和Win上开发,在Ubuntu上部署Python设置差异:比如使用不同版本的开发者之间的差异使用Vagrant和VirtualBox来设置统一的开发环境对于例如,如果你使用的是Mac,但是项目部署环境是Ubuntu,你可以在Mac上使用Vagrant和项目中的Vagrantfile快速生成配置好的虚拟Ubuntu开发环境。优点:项目开发团队中的每个人都获得完全相同的本地开发环境测试和生产环境可以以与本地开发环境类似的方式配置缺点:增加小型项目的复杂性在旧机器上,运行虚拟机更慢参考:两勺Django的最佳实践:Django1.8的最佳实践