资讯专栏INFORMATION COLUMN

使用Docker开发Django项目

lentoo / 3307人阅读

摘要:背景当多个项目且某些包无法兼容时,通常我们使用虚拟环境即可解决。但事实上不仅仅只能用于线上应用部署,我们的开发调试环境也可以使用。

背景

当多个Python项目且某些包无法兼容时,通常我们使用虚拟环境即可解决。

但是在团队中多个环境其实相对比较固定了,较少变更,如果换电脑或者新人加入需要重新一个一个配置虚拟环境并安装相应的包,会耗费很多时间,而且由于重新安装的包依赖可能会有版本变更导致各种离奇问题。

但事实上Docker不仅仅只能用于线上应用部署,我们的开发、调试环境也可以使用。

下面以Django项目来举例,为了说明方便此处有以下前提条件和假设:

基础Docker已经安装且可用

Docker已经暴露了远程访问地址(使用Pycharm需要),具体方法请自行查阅文档或教材,假如为tcp://localhost:2375

Docker基本命令不再详述

Docker的Django环境镜像已经做好,为:myimage

Django代码目录为d:demo

演示环境为Windows 10(由于Docker集成原因,本文不适用于windows 10之前版本系统),linux和mac os可能稍有差别
开始使用

普通环境:

python d:demomanage.py runserver 0.0.0.0:8000

Docker启动:

docker run -it --name demo -v d:demo:/code -p 0.0.0.0:8000:8000 myimage python /code/manage.py runserver 0.0.0.0:8000
在Pycharm中无缝使用

添加Docker镜像:

打开配置 pycharm > File > Settings > Project > Project Interpreter

选择镜像


修改原Run配置:

打开原Run配置(和使用本地环境的配置一样,不再赘述)

选择刚才添加的镜像,下面三个复选框保持下图一样

上一步选择镜像后下面会出现Docker container settings:

点开进行编辑,可以看到此时已经有了Volume bindings,还需要一个端口映射

再次Run就已经是从容器中启动了(可以看到容器ID),使用Debug启动也是可以的

底部还有个选项卡,此可以一键打开Django shell

问题

Q:使用Python Console打开django shell报错,错误示例:

ModuleNotFoundError: No module named "cms"

A:Pycharm > Settings > Build, Execution, Deployment > Console > Django Console 勾选如下两项,重新打开底部Python Console即可

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42904.html

相关文章

  • [译] 如何使用 Docker 组件开发 Django 项目

    摘要:按照指示,分别安装和,然后测试安装结果接下来,根据以下项目结构从克隆一份项目或自己创建项目现在我们准备容器运行开启,只需运行这个命令设置一个新的开发环境。 原文地址:Django Development With Docker Compose and Machine 以下为译文 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器...

    forsigner 评论0 收藏0
  • 使用Docker开发Django项目

    摘要:背景当多个项目且某些包无法兼容时,通常我们使用虚拟环境即可解决。但事实上不仅仅只能用于线上应用部署,我们的开发调试环境也可以使用。 背景 当多个Python项目且某些包无法兼容时,通常我们使用虚拟环境即可解决。 但是在团队中多个环境其实相对比较固定了,较少变更,如果换电脑或者新人加入需要重新一个一个配置虚拟环境并安装相应的包,会耗费很多时间,而且由于重新安装的包依赖可能会有版本变更导致...

    MASAILA 评论0 收藏0
  • django开发-在Docker中部署django项目

    摘要:今天整理了一下如何在中部署项目。执行可以查看容器出错的具体原因。若上述容器都成功运行,则在浏览器中输入时,视图会返回相应的结果。以交互方式进入容器后,进入数据库,会看到在数据库中生成了相应的表。 今天整理了一下如何在docker中部署django项目。 1.环境如下: python3.6 django2.0.5 nginx mysql5.7 gunicorn 2.项目结构如下:...

    galois 评论0 收藏0
  • django开发-在Docker中部署django项目

    摘要:今天整理了一下如何在中部署项目。执行可以查看容器出错的具体原因。若上述容器都成功运行,则在浏览器中输入时,视图会返回相应的结果。以交互方式进入容器后,进入数据库,会看到在数据库中生成了相应的表。 今天整理了一下如何在docker中部署django项目。 1.环境如下: python3.6 django2.0.5 nginx mysql5.7 gunicorn 2.项目结构如下:...

    MonoLog 评论0 收藏0
  • [原]打造数据产品的快速原型:DjangoDocker之旅

    摘要:而大多数数据科学研究的场景下,更快的速度也意味着更早地发现问题和完成检验假设的闭环。通常,数据科学被认为研究成果立即应用到生产环境都是比较缓慢的一个过程。 showImg(https://segmentfault.com/img/remote/1460000005771293); 概述 在数据科学研究中,快速验证想法是非常关键的一环,而如何快速开发出数据产品则可以有效推动整个数据科学项...

    zhoutao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<