• 词典查询工具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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    安装

    在群晖上以 Docker 方式安装。

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

    在这里插入图片描述

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

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

    在这里插入图片描述

    端口

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

    # 查看端口占用
    netstat -tunlp | grep 端口号
    
    • 1
    • 2
    本地端口容器端口
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    然后执行下面的命令

    # 新建文件夹 django-mdict 和 子目录
    mkdir -p /volume1/docker/django-mdict/library
    
    # 进入 django-mdict 目录
    cd /volume1/docker/django-mdict
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

    在浏览器中输入 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    需要填邮件地址和密码

    密码不能少于 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

  • 相关阅读:
    从0手写两轮差速机器人urdf模型
    Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南
    【工厂模式】简单工厂模式-简单例子
    通达信高级使用:预先筛选股票池进行预警选股
    UE5 打包安卓报错LogPlayLevel: UAT: at org.codehaus.groovy.vmplugin.v7.Java7
    dotConnect for Oracle .net Crack
    基于Android社区生鲜O2O订购系统设计与实现 毕业设计-附源码231443
    IP地址与在线教育平台资源分配优化
    【带头学C++】----- 1.基础知识 ---- 1.24 逻辑控制语句
    2.Tensor For Beginner -Tensor Definition
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/134207074