当前位置: 首页 > news >正文

词典查询工具django-mdict

在这里插入图片描述

什么是 django-mdict ?

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

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

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

构建镜像

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

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

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

# 下载代码
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存放字典文件

在这里插入图片描述

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
180008090

默认没有对外暴露端口

在这里插入图片描述

需要点 + 号添加

在这里插入图片描述

环境

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

在这里插入图片描述

命令行安装

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

# 新建文件夹 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 文件

version: '3'services:app:image: wbsu2003/django-mdictcontainer_name: django-mdictrestart: unless-stoppedports:- 18000:8090volumes:- ./library:/code/media/mdict/doccommand: "python3 manage.py runserver 0.0.0.0:8090 --noreload"

然后执行下面的命令

# 新建文件夹 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

在这里插入图片描述

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

管理员

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

# 进入容器
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

http://www.lryc.cn/news/218303.html

相关文章:

  • Ubuntu20.04搭建RISC-V和qemu环境
  • 代码生成器
  • AndroidMonitor - 基于AndroidLocalService实现的抓取OKHTTP请求的工具
  • LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
  • 大数据之LibrA数据库系统告警处理(ALM-12017 磁盘容量不足)
  • Python算法例4 求平方根
  • LVGL_多界面切换
  • C/C++输出字符菱形 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • DI93a HESG440355R3 通过其Achilles级认证提供网络安全
  • Go中Panic and Recover
  • webpack 与 grunt、gulp 的不同?
  • 园区网真实详细配置大全案例
  • 小程序video标签在底部出现1px无法去除的黑色线
  • 渗透工具使用及思路总结(持续更新)
  • 速卖通新卖家有必要测评吗?
  • 从lc114. 二叉树展开为链表到lc-LCR 155二叉搜索树转化为排序的双向链表
  • 做读书笔记时的一个高效小技巧
  • Redis7.x 高级篇
  • 2023辽宁省数学建模B题数据驱动的水下导航适配区分类预测完整原创论文分享(python求解)
  • 向量数据库的崛起与多元化场景创新
  • 面试10000次依然会问的【ReentrantLock】,你还不会?
  • Bat批量处理
  • 【一、http】go的http基本请求方法
  • 【软考中级】软件设计师-下午题
  • (03)Mycat实现读写分离
  • [SSD综述1.7] SSD接口形态: SATA、M.2、U.2、PCIe、BGA
  • 20.5 OpenSSL 套接字RSA加密传输
  • C#中的19个LINQ to XML 类
  • 取消elementUI中table的选中状态和勾选状态赋值
  • LeetCode 72. 编辑距离(动态规划)