这是一个由本人用 Django 框架开发的一款社区论坛,
目前在 web 端、app 端、微信小程序端、qq 小程序端均已上线
。
部署遇到的任何问题都可以在社区提出或者邮件联系,或者提 issue。
GIthub:
https://github.com/xyuansec/DjangoForum
码云:
https://gitee.com/blackxu/DjangoForum
代码中涉及到百度内容审核 API(需要自己申请),邮件发送功能(需要自己在 utils.py 设置邮箱密码),黑名单验证,网站 seo(settings.py)等需要自己填写。
python3.7.5
django3.0.6
nginx1.8.0
uniapp
说明一下该社区目前拥有的功能
注册(邮箱激活)、登录功能
发帖、回复、艾特回复、楼层功能
发帖支持发送 文章格式(markdown)、视频、mp3 音乐、图文、bilibili 视频
积分系统功能,支持每日签到、发帖获取积分、评论获取积分、积分记录查看
个人中心功能,可以编辑自己的社交资料,上传头像和封面图片
地理位置获取功能、个人资料页面可显示所在的位置(百度地图提供)
排行榜功能,目前支持积分排行榜
pixiv 插画瀑布流功能
消息通知功能,回复有邮件通知,能在消息系统看到
地理位置开启和关闭功能
统计功能、统计爬虫日志、统计注册人数等等
在线人数功能
商品交易系统,支持发布商品,购买商品,积分充值
小工具功能,可以自行开发小工具添加到工具界面
在线聊天室功能
帖子搜索功能
黑名单功能(自动拦截恶意注册)
内容审核功能(百度 AI 审核)
简单支持 SEO
待开发(目前还有找回密码等功能未实现)
目前的缺点
发帖编辑器需要优化
没有找回密码功能
消息通知需要优化
目前暂时就这些,
这里说明一下(咱代码写的并不是很规范,有些地方功能虽实现了,但代码你懂得。。开源一方面就是希望有小伙伴能共同维护)。
下面上各端的截图。
web 端(适配 wap)
排行榜界面
个人中心界面
手机端(app)、qq 小程序、微信小程序
左侧菜单栏
简单的说一下部署方法
1、安装虚拟环境
python -m venv ./venv
切换到虚拟环境
pip install -r requirements.txt
2、安装数据库(需要在settings.py配置数据库账号密码)
python manage.py makemigrations
python manage.py migrate
python manage.py makemigrations myapp
python manage.py migrate myapp
python manage.py createsupuser 创建管理员
3、启动服务
python manage.py runserver
启动服务后登陆 /admin 后台添加几个分类,然后注册一个账号测试一下发布帖子。部署后的界面应该是这样的。
Python
是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
gzip
(GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。
V2EX
是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。
锤子科技
(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。
应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
Hprose
是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。
i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。
Microsoft Windows
是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
Spring
是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。