欢迎光临
我们一直在努力

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

使用 postgressql 和 docker 启动新的 django 项目

初始项目设置:

$ mkdir 客户端管理
$ cd 客户管理
$ <a style="color:#f60; text-decoration:underline;" href="https://www.codesou.cn/" target="_blank">python</a>3 -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 的本地开发

  • 在部署之前阅读有关安全性的更多信息
  • https://docs.docker.com/engine/security/rootless/

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

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

关于 Docker

  • Docker 映像:只读模板,包含创建容器的说明
  • 支持的Python镜像:https://hub.docker.com/_/python/
  • Dockerfile:定义自定义镜像
  • Docker 容器:运行 Docker 镜像的实例。
  • docker-compose.yml:容器的附加说明

Docker 流程​​:

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

分离模式

  • 在后台运行容器。将其用于单个命令行选项卡。运行 docker-compose up -d
  • 错误输出在分离模式下并不总是可见。通过运行 docker-compose log 查看当前输出

Docker 与本地命令

  • 在传统命令前加上 docker-compose exec [service]

例如:

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

精神病学

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

  • https://www.psycopg.org/psycopg3/docs/basic/install.html#binary-installation

  • https://docs.djangoproject.com/en/5.0/ref/databases/

安装 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

  • 配置环境以对数据库使用信任身份验证。对于有很多用户的数据库,权限要更明确。
  • 更新 django_project/settings.py 文件中的 DATABASES 配置以使用 PostgreSQL
  • 现在构建新镜像并通过运行 docker-compose up -d –build 以分离模式启动两个容器。
  • 刷新 Django 欢迎页面 http://127.0.0.1:8000/ 即可看到 Django 已成功通过 Docker 连接到 PostgreSQL。完成后记得 docker-compose down 以节省计算机资源。

接下来

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

赞(0) 打赏
未经允许不得转载:码农资源网 » 使用 PostgresSQL 和 Docker 启动新的 Django 项目
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册