# 创建网站

每个网站都带有一个数据库。它们可以通过网站特定的脚本进行定制,或者可以在它们上面安装应用程序。

# 创建新网站

要创建一个新网站,请从frappe-bench目录运行以下命令:

$ bench new-site library.localhost
MySQL root 密码:

安装 frappe...
更新 DocTypes for frappe        : [========================================] 100%
更新国家信息               : [========================================] 100%
设置管理员密码:
重新输入管理员密码:
*** 调度器已禁用 ***
当前网站设置为 library.localhost

1
2
3
4
5
6
7
8
9
10
11

此命令将创建一个新数据库,因此您需要输入MySQL root密码。它还会要求您设置管理员用户的密码,设置一个您不会忘记的密码。这稍后会很有用。

现在,您将在sites目录中拥有一个名为library.localhost的新文件夹。

如果网站创建由于任何原因失败,系统将提示您回滚更改。这将删除library.localhost或您站点目录中的等效项,并删除创建的数据库/用户。这将允许您轻松重试,而无需手动清理不可用的网站。

# 网站目录结构

网站目录结构将如下所示:

sites/library.localhost
├── indexes
│   └── web_routes
├── locks
├── logs
├── private
│   ├── backups
│   └── files
├── public
│   └── files
└── site_config.json

1
2
3
4
5
6
7
8
9
10
11
12

indexes文件夹包含通过网站搜索生成的索引。

locks文件夹维护站点内文档的基于文件的锁定以及站点本身状态的指示器。

如您所见,private文件夹将包含任何数据库备份和私有文件。私有文件是需要认证才能访问的用户上传的文件。

public文件夹将包含无需认证即可访问的文件。这可以包含无需登录即可访问的网站图片。

site_config.json文件包含特定于此网站的配置,不应进行版本控制。这类似于环境变量文件。如果您查看文件的内容,它包含此网站的数据库配置值。

{
 "db_name": "_ad03fa1a016ca1c4",
 "db_password": "pz1d2gN5y35ydRO5",
 "db_type": "mariadb"
}

1
2
3
4
5
6

# 在浏览器中访问网站

bench允许您创建多个网站,并在浏览器中通过同一端口单独访问它们。这就是我们在Bench中所说的多租户支持。

Frappe将通过将请求的主机名与网站名称匹配来识别要服务的网站,因此您应该能够在http://library.localhost:8000上访问您的网站。

如果这对您不起作用,那是因为我们必须告诉我们的操作系统library.localhost应该指向localhost。为此,您可以向/etc/hosts文件添加以下条目。

127.0.0.1 library.localhost

1
2

这将把library.localhost映射到localhost。Bench有一个方便的命令可以做到这一点。

$ bench --site library.localhost add-to-hosts

1
2

这将要求您输入root密码,并将条目添加到您的/etc/hosts文件中。

网站登录页面

太好了,现在您可以在http://library.localhost:8000访问您的网站。恭喜您走到这一步。

# 在网站上安装应用程序

要在我们的网站上安装我们的图书馆管理应用程序,请运行以下命令:

$ bench --site library.localhost install-app library_management

安装 library_management...

1
2
3
4

要确认应用程序是否已安装,请运行以下命令:

$ bench --site library.localhost list-apps
frappe
library_management

1
2
3
4

您应该在您的网站上看到frappelibrary_management作为已安装的应用程序。

当您创建一个新网站时,默认会安装frappe应用程序。

# 登录到Desk

要在我们的应用程序中创建DocTypes,我们必须登录到Desk。转到http://library.localhost:8000,它应该会显示一个登录页面。

输入您创建网站时设置的管理员用户名和密码。

设置向导

成功登录后,您将看到设置向导。这是一个一次性的设置向导,用于设置您网站的本地化详细信息。继续,选择您的语言,并完成向导。

到目前为止做得很好!

您应该看到类似于这样的Desk:

Desk

# 网站命令

我们运行了一些带有--site选项的Bench命令。这些命令称为网站命令。

这里有一些有用的网站命令。

Python控制台

# 访问Python控制台
$ bench --site library.localhost console
此命名空间中的应用程序:
frappe, library_management

In [1]:

1
2
3
4
5
6
7

MariaDB控制台

# 访问MariaDB控制台
$ bench --site library.localhost mariadb
欢迎使用 MariaDB 监控器。命令以 ;\g 结束。
您的 MariaDB 连接 ID 是 2333498
服务器版本:10.4.13-MariaDB Homebrew

版权所有 (c) 2000, 2018, Oracle, MariaDB Corporation Ab 和其他人。

输入 'help;''\h' 获取帮助。输入 '\c' 清除当前输入语句。

MariaDB [_ad03fa1a016ca1c4]>

1
2
3
4
5
6
7
8
9
10
11
12

数据库备份

$ bench --site library.localhost backup
网站 library.localhost 的备份摘要在 2020-10-06 23:21:17.277960
配置 :./library.localhost/private/backups/20201006_232116-library_test-site_config_backup.json   94.0B
数据库: ./library.localhost/private/backups/20201006_232116-library_test-database.sql.gz           217.4KiB
网站 library.localhost 的备份已成功完成

1
2
3
4
5
6

您可以通过运行以下命令来查看所有网站命令的列表:

$ bench --help
Usage: bench frappe [OPTIONS] COMMAND [ARGS]...

选项:
  --site TEXT
  --profile    配置文件
  --verbose    详细
  --force      强制
  --help       显示此消息并退出。

命令:
  add-system-manager          向网站添加新的系统管理员
  add-to-email-queue          将电子邮件添加到电子邮件队列
  add-to-hosts                将网站添加到主机
  backup                      备份
  browse                      打开网站浏览器
  build                      压缩 + 合并 JS 和 CSS 文件,构建...
  build-message-files         构建翻译的消息文件
  build-search-index
  bulk-rename                 通过 CSV 文件重命名多个记录
  clear-cache                 清除缓存,doctype缓存和默认值
  clear-website-cache         清除网站缓存
  console                     启动网站的ipython控制台
  data-import                 从 CSV 或 XLSX 批量导入文档...
  destroy-all-sessions        清除所有用户的会话(注销登录)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

接下来: 创建DocType.md

最后更新时间: 9/27/2024, 3:24:28 PM