Misago
基于 Python/Django 的现代开源论坛系统,功能丰富,支持 OAuth 登录、权限管理、私密话题等。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
一款不怕说“不”的现代论坛软件,功能齐全且易扩展。
核心功能
- 支持 50+ OAuth 登录(Facebook、谷歌等)
- 无限层级板块分类与权限控制
- 私密话题、投票、附件、编辑日志
- 审核队列、黑名单、GDPR 合规
- 自定义主题与未来插件系统
避坑指南
- •当前处于永久 Beta 状态,部分功能可能不稳定;Windows 用户可能遇到 Docker 构建错误(见 README 中的 Note for Windows users);前端无测试套件,修改源码需谨慎。
适用场景
- 搭建社区论坛
- 企业内部讨论平台
- 知识问答社区
详细介绍
Misago 是一款基于 Python 和 Django 的现代开源论坛系统,旨在打破传统论坛软件的陈旧观念。功能包括用户注册与资料管理、支持 50 多种 OAuth 登录(如 Facebook、谷歌、GitHub)、无限级板块分类、Markdown 和 BBCode 编辑、在线状态追踪、完善的审核与权限系统、私密话题、投票、附件、编辑历史、审核队列、自定义主题以及 GDPR 合规。未来计划加入 GraphQL API、插件系统和 WYSIWYM 编辑器。使用 Docker 快速部署,前端采用 React。
常见问题与排障 (2)
故障排除如何修复 Misago 使 Django FieldFile 指针保持打开并导致 Windows 上文件访问错误的问题?
将 Misago 升级到包含 PR #2224 的版本,该 PR 添加了上下文管理器,使 FieldFile 实例在读取后关闭。修复后的模式是:
with model.file_field.open():
file_content = model.file_field.read()
不要在不使用上下文管理器的情况下调用 model.file_field.read(),因为这可能会使文件指针保持打开状态,并在 Windows 上导致文件锁定错误,在 Linux 上造成不必要的资源噪声。
how_to我如何使用 mixin 从插件扩展 Misago 视图?
使用 Misago 的 class-extension API。用 @extend(TargetViewClass) 装饰一个插件 mixin,然后重写视图方法并调用 super() 以保留原始行为:
@extend(CategoryThreadListView)
class PluginCategoryThreadListViewMixin:
def get_context_data(self, **kwargs):
context_data = super().get_context_data(**kwargs)
context_data["top_components"].append(
{"template_name": "plugin/component.html"}
)
return context_data
这使插件可以修改整个可扩展视图,而无需实现许多单独的过滤器钩子。确保被重写的方法接受与原始视图方法相同的参数。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:克隆仓库并运行 ./dev init(需要 Docker)
步骤2:执行 docker compose up 启动开发服务器
步骤3:访问 http://127.0.0.1:8000/ 查看论坛,后台地址 /admincp/,默认账号 Admin/password
- 步骤1:克隆仓库并运行 ./dev init(需要 Docker)
- 步骤2:执行 docker compose up 启动开发服务器
- 步骤3:访问 http://127.0.0.1:8000/ 查看论坛,后台地址 /admincp/,默认账号 Admin/password
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
删除项目目录和 Docker 容器即可完全卸载。若保留数据库需手动清理。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs