最近在捣鼓一个叫“米神”的项目,说起来也是有点意思。
起因:
我就是想搞一个类似游戏信息分享的东西,没事儿的时候能上去看看,有点像那种游戏资讯站,但是内容更个人化一些,都是我自己玩游戏的一些心得和技巧,再就是一些游戏里比较有意思的瞬间。因为我比较喜欢玩《我的世界》,也看一些哈娜hanna和米神的直播,所以也想自己搞一个。
摸索阶段:
- 技术选型:
我琢磨着用什么技术来搞。前端嘛vue或者react都行,后端的话,java或者python都可以。考虑到我个人对python更熟悉一些,就决定用python的django框架来搭后端了。前端就选了vue,比较轻量级。
- 数据库:
数据库肯定要有的,用来存文章,用户信息什么的。mysql或者postgresql都可以,我个人比较喜欢mysql,就选了mysql。
- 服务器:
服务器的话,一开始打算用阿里云或者腾讯云的,但是后来想想,自己家里也有一台吃灰的旧电脑,就拿来当服务器了,省点钱。
动手实践:
第一步:
先把django项目搭起来,配置好数据库,搞定基本的model,比如文章(Article),用户(User)之类的。这一步比较简单,网上教程很多,照着做就行。
第二步:
开始写接口。文章的增删改查,用户的注册登录,这些都是基本操作。用django rest framework来写接口,效率还挺高的。
第三步:
前端vue项目也搭起来,用axios来调后端接口。这一步有点麻烦,因为我前端水平一般,很多东西都要现学。不过还vue的文档挺详细的,照着文档一点一点写,也慢慢搞出来了。
第四步:
前端页面,这个是最花时间的。要考虑美观,也要考虑用户体验。我参考了很多游戏资讯站的界面,然后自己设计了一下,搞了个比较简洁的风格。
第五步:
部署上线。把django项目和vue项目都部署到服务器上,用nginx做反向代理。这一步也比较折腾,因为服务器是自己家的电脑,网络环境比较复杂,搞了好久才搞定。
遇到的坑:
- 跨域问题:
前后端分离的项目,肯定会遇到跨域问题。解决办法有很多,我用的是django的corsheaders库,配置一下就好了。
- 静态文件问题:
vue项目的静态文件,要用django的static files功能来处理。这一块也比较容易出错,要仔细看文档。
- 数据库连接问题:
django项目连接mysql数据库,要安装mysqlclient库。这个库的安装比较麻烦,要先安装mysql的开发环境。
最终效果:
现在“米神”已经基本成型了,可以发布文章,可以注册登录,可以评论点赞。虽然功能还比较简单,但是已经可以用了。后面我会继续完善,增加更多的功能,比如文章分类,搜索,等等。
这回搞“米神”项目,让我学到了很多东西。不仅巩固了python和vue的基础知识,还学到了很多新的技术,比如django rest framework,nginx,等等。更重要的是,让我体验到了从0到1做一个项目的乐趣。虽然过程很辛苦,但是看到自己的作品一点一点成型,那种成就感是无法言喻的。
下一步计划:
- 增加文章分类功能。
- 增加文章搜索功能。
- 优化前端界面。
- 搞个微信小程序版本。
这个“米神”项目,我会一直搞下去的,争取把它打造成一个真正有用的游戏信息分享平台。感谢大家的观看!
还没有评论,来说两句吧...