摘要

frappe框架本地环境搭建和本地开发应用指南。在本指南中,安装了 Frappe 版本 13,这是编写本指南时的最新更新,其中提到version-13以替换为最新版本。

先决条件

要开始开发,需要以下要求。

  • 码头工人

  • 码头工人撰写

  • 视觉工作室代码

准备开发容器

克隆并进入目录frappe_docker

git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker

进入全屏模式 退出全屏模式

将 devcontainer 的示例配置从文件夹devcontainer-example复制到.devcontainer

cp -R devcontainer-example .devcontainer

进入全屏模式 退出全屏模式

使用 VSCode 远程容器扩展

为了更轻松地在 Frappe 框架上进行开发,我建议使用VSCode Remote-Containers 扩展。在开始之前先安装此扩展程序。

在打开容器之前,您可以将数据库更改为在.devcontainer/docker-compose.yml中使用,默认配置为 MariaDB,但可以与 PostgreSQL 一起使用。

安装扩展程序后,VSCode 将询问您是否要使用.devcontainer内的配置打开容器。进入 VSCode 后,您将看到容器内的文件,并且在您的终端中,它们已经在容器内,我推荐你去使用 Bench 命令。

配置工作台

在容器的终端中运行以下命令。您可能需要在 VSCode 中打开一个新终端

bench init --skip-redis-config-generation --frappe-branch version-13 frappe-bench
cd frappe-bench

进入全屏模式 退出全屏模式

从这里开始,所有的命令总是在frappe-bench文件夹内执行,否则将不起作用。

配置主机

我们必须告诉 bench 使用正确的容器而不是 localhost。在容器内运行以下命令。

bench set-mariadb-host mariadb
bench set-redis-cache-host redis-cache:6379
bench set-redis-queue-host redis-queue:6379
bench set-redis-socketio-host redis-socketio:6379

进入全屏模式 退出全屏模式

编辑Procfile

打开 Procfile 文件并删除包含 Redis 配置的三行,手动或运行以下命令:

sed -i '/redis/d' ./Procfile

进入全屏模式 退出全屏模式

创建一个带长凳的新站点

可以使用以下命令创建一个新站点:

bench new-site sitename --no-mariadb-socket

进入全屏模式 退出全屏模式

站点名称必须以 .localhost 结尾才能在本地部署。

例子:

bench new-site mysite.localhost --no-mariadb-socket

进入全屏模式 退出全屏模式

该命令将询问 MariaDB root 用户的密码。默认密码是123。它还会要求您定义用于登录 Frappe 的用户密码Administrator

这将在frappe-bench/sites内创建一个新站点和目录mysite.localhost

选项--no-mariadb-socket将配置站点的数据库凭据以使用 docker。

如果你想通过浏览器输入mysite.localhost你必须在 /etc/host 中进行相应的配置,如果你是在 Linux 或等效的 Windows 上。

在新站点设置bench developer模式

要开发新应用,最后一步是将网站置于开发者模式。文档可在此链接获得。

bench --site mysite.localhost set-config developer_mode 1
bench --site mysite.localhost clear-cache

进入全屏模式 退出全屏模式

创建新应用

要创建新应用,请运行以下命令:

bench new-app sample_app

进入全屏模式 退出全屏模式

sample_app就是一个例子。应用程序的名称必须有_来分隔它们的单词。

该命令将要求填写以下字段。

App Name: sample_app
App Title: Sample App
App Description: This is a sample app.
App Publisher: Acme Inc.
App Icon: icon-linux
App Color: #6DAFC9
App Email: info@example.com
App URL: http://example.com
App License: MIT

进入全屏模式 退出全屏模式

最后,要在网站上安装应用程序,请运行以下命令:

bench --site mysite.localhost install-app sample_app

进入全屏模式 退出全屏模式

有关 Frappe 应用程序的更多详细信息,请参阅文档的以下链接。

安装应用程序

也可以安装现有的应用程序。它必须以前位于 git 存储库中。

在以下示例中,下载了一个应用程序,然后将其安装在站点上。

bench get-app myapp https://github.com/myusername/myapp.git
bench --site mysite.localhost install-app myapp

进入全屏模式 退出全屏模式

破面罢工

frappe-bench目录中运行以下命令。

bench start

进入全屏模式 退出全屏模式

现在您可以使用用户Administrator和创建站点时注册的密码登录。

您的站点现在可以从localhost:8000访问,或者如果您配置了etc/host为它定义的 url。

手动启动容器

如果不使用 VSCode,可以使用以下命令手动启动容器:

运行容器

docker-compose -f .devcontainer/docker-compose.yml up -d

进入全屏模式 退出全屏模式

并使用以下命令进入开发容器外壳:

docker exec -e "TERM=xterm-256color" -w /workspace/development -it devcontainer_frappe_1 bash

进入全屏模式 退出全屏模式

然后就是重复上面第Configurar Bench节中详述的步骤

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐