PHP前端开发

使用 PostgresSQL 和 Docker 启动新的 Django 项目

百变鹏仔 3天前 #Python
文章标签 项目

初始项目设置:

$ mkdir 客户端管理$ cd 客户管理$ python3 -m venv .venv$ 源 .venv/bin/activate(.venv) $(.venv) $ python3 -m pip install django~=5.0(.venv) $ django-admin startproject django_project 。(.venv) $ python 管理.py runserver 

访问http://127.0.0.1:8000/确认安装成功然后退出服务器。

(.venv) $ 触摸要求.txt(.venv) $ pip freeze > 要求.txt

码头工人

使用 Docker 简化 PostgreSQL 的本地开发

安装 Django 后,停用虚拟环境并设置 Docker。通过访问我在 GitHub 上的存储库,查看我的 Dockerfile docker-compose.yml 和 .dockerignore 文件。

(.venv) $ 停用$$ touch Dockerfile docker-compose.yml .dockerignore$ docker-compose up

关于 Docker

Docker 流程​​:

  1. 创建新的虚拟环境并安装Django
  2. 在其中创建一个新的 Django 项目
  3. 添加带有自定义镜像指令的 Dockerfile
  4. 添加.dockerignore
  5. 建立形象
  6. 添加 docker-compose.yml
  7. 使用 docker-compose up 启动容器
  8. 停止容器:

分离模式

Docker 与本地命令

例如:

$ docker-compose exec web python manage.py migrate$ docker-compose exec web python manage.py createsuperuser

精神病学

Psycopg 是一个数据库适配器。从二进制版本开始以便快速安装。如果项目需要性能提升,请更新。了解更多:

安装 Psycopg

首先通过运行 docker-compose down 停止运行 Docker 容器。 Docker 取代了虚拟环境。 Docker主机取代了本地操作系统。由于我使用的是 docker,因此我不会在本地安装。相反,我将仅使用文件底部的 psycopg[binary] 包更新requirements.txt。

关于 docker-compose.yml

docker-compose.yml 指定在 Docker 中运行的两个独立容器。

  1. Django 本地服务器的 web
  2. db 用于 PostgreSQL 数据库。

Docker 容器是短暂的。当容器停止运行时,信息就会丢失。在 docker-compose.yml 中,postgres_data 卷挂载绑定到本地计算机。

配置 PostgreSQL

接下来

在迁移之前,我将添加一个自定义用户模型。