词典查询工具django-mdict

什么是 django-mdict ?

django-mdict 不是词典软件,是词典查询的脚本工具,主要目的是解决词典数量多,手机容量不足的问题,是对其他词典软件局域网在线查询功能的补充,是用 django 实现的 mdict 词典查询工具(支持 mdx、zim 格式)。请优先使用正式软件,如 goldendict、mdict、欧陆、dicttango 等。

老苏去年介绍过用 Python Flask 框架实现的 mdict 词典,而这个是用 Python Django 框架实现的,本质上是一样的东西,至于怎么选择,看你自己的喜好了

文章传送门:Flask-MDict搭建在线Mdict词典服务

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

官方提供了 Dockerfile 文件,但没找到镜像,所以需要编自己编一下,但是老苏编完之后发现有其他网友已经编过了 😂

构建镜像和容器运行的基本命令如下👇

bash 复制代码
# 下载代码
git clone https://github.com/jiangnianshun/django-mdict.git
  
# 或者加个代理
git clone https://ghproxy.com/github.com/jiangnianshun/django-mdict.git
  
# 进入目录  
cd django-mdict

# 将 Dockerfile 放入当前目录
  
# 构建镜像
docker build -t wbsu2003/django-mdict:v1 .

# 运行容器
docker run -d \
   --name django-mdict \
   -p 18000:8090 \
   -v $(pwd)/library:/code/media/mdict/doc \
   wbsu2003/django-mdict:v1 \
   python3 manage.py runserver 0.0.0.0:8090 --noreload

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 django-mdict ,选择第三个 wbsu2003/django-mdict,版本选择 latest。

卷

在 docker 文件夹中,创建一个新文件夹 django-mdict,并在其中建一个子文件夹 library

文件夹 装载路径 说明
docker/django-mdict/library /code/media/mdict/doc 存放字典文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
18000 8090

默认没有对外暴露端口

需要点 + 号添加

环境

没有用到环境变量,但用到了命令行 python3 manage.py runserver 0.0.0.0:8090 --noreload

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 django-mdict 和 子目录
mkdir -p /volume1/docker/django-mdict/library

# 进入 django-mdict 目录
cd /volume1/docker/django-mdict

# 运行容器
docker run -d \
   --name django-mdict \
   -p 18000:8090 \
   -v $(pwd)/library:/code/media/mdict/doc \
   wbsu2003/django-mdict \
   python3 manage.py runserver 0.0.0.0:8090 --noreload

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  app:
    image: wbsu2003/django-mdict
    container_name: django-mdict
    restart: unless-stopped
    ports:
      - 18000:8090
    volumes:
      - ./library:/code/media/mdict/doc
    command: "python3 manage.py runserver 0.0.0.0:8090 --noreload"

然后执行下面的命令

bash 复制代码
# 新建文件夹 django-mdict 和 子目录
mkdir -p /volume1/docker/django-mdict/library

# 进入 django-mdict 目录
cd /volume1/docker/django-mdict

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:18000/mdict 就能看到主界面

如果已经放入了 mdx 格式的词典文件,会显示在左侧

关于 mdx 文件及获取,可以看老苏之前写的 Flask-MDict搭建在线Mdict词典服务

可以直接查询

再放了一个离线维基 zim 格式文件

关于 zim 文件及获取,可以看老苏之前写的 离线维基百科阅读器Kiwix Serve

注意,每次增加了字典文件,需要重启容器才会被识别

管理员

创建管理员账号,需要进入容器内操作

bash 复制代码
# 进入容器
docker exec -it django-mdict /bin/sh

# 创建管理员
python3 manage.py createsuperuser --username 用户名

#示例
python3 manage.py createsuperuser --username laosu

需要填邮件地址和密码

密码不能少于 8 个字符;

在浏览器中输入 http://群晖IP:18000/admin 就能看到登录界面

登录后的主界面

现在可以增加用户了

或者维护字典

参考文档

jiangnianshun/django-mdict: django-mdict是django实现的mdict词典查询工具。

地址:https://github.com/jiangnianshun/django-mdict
Could possible to create a docker for it? · Issue #4 · jiangnianshun/django-mdict

地址:https://github.com/jiangnianshun/django-mdict/issues/4

相关推荐
时间售卖铺3 小时前
Docker实战:一键部署轻量级容器
运维·docker·云原生
tedcloud1237 小时前
Docker Compose 部署 Uptime Kuma:配置 HTTPS、QQ 邮箱告警与数据备份
服务器·网络协议·ui·docker·容器·https·开源
syntaxsage8 小时前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
java_logo8 小时前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像
todoitbo18 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
是枚小菜鸡儿吖1 天前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉1 天前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg11 天前
【Docker】镜像相关指令
运维·docker·容器
java_logo1 天前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频1 天前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui