美文网首页django@IT·互联网程序员
第二个django项目:低仿版知乎

第二个django项目:低仿版知乎

作者: 海上牧云l | 来源:发表于2017-01-25 23:49 被阅读1955次

本来开始用简书的时候规定自己一周至少写两篇文章,然而现在距离上一篇的时间已经过去了快一个月了,现在开始慢慢补吧。最近花了大约三个星期,从前端、后端、数据库到部署完成了一个简单的问答网站,目前部署在搬瓦工,还有不少bug没有改,细节也有很多不合适,以后在慢慢改吧。
先放张图


主要用到了semantic ui的css框架、vue.js、django、mysql,通过uwsgi部署在centos6,nginx反向代理。
基本上已经做到了前后端分离,后端提供api接口,把大部分逻辑交给js去做。这里用了Django REST framework来实现api,用reqwest库向api发送get、post请求实现增删改查。
尝试采用了token认证,用js-cookie建立和移除cookies实现认证,基本的权限控制已经实现。
目前主要分为主页、答案详情页、问题详情页、话题页、问题页、登录&注册页、个人资料&资料修改页。
暂时还未实现的功能有:
1、用户之间互相回复
2、搜索
3、选中指定话题时该话题样式变化
4、关注用户
5、富文本
关于首页显示的内容,知乎有自己的算法,我只是按id一股脑显示的,暂时对这方面还没什么头绪。说是仿知乎,其实没法比,就拿来练练手而已。
部署花了很多时间,前后得有一个多星期,主要是没什么头绪,不知道vps、uwsgi、nginx和域名这些之间的联系,看了很多教程也不不明白,多亏了一个小伙伴给我打了电话讲解了,现在感觉很简单了。
vps就是一电脑,django项目运行在vps上。
WSGI是为为Python语言定义的Web服务器和Web应用程序之间的一种通用的接口,uWSGI就是web服务器,用于接受前端发送的请求并处理后发送给web应用程序,uwsgi是uWSGI服务器实现的独有的协议,只用uwsgi也能实现部署。
nginx是一个反向代理服务器,使用nginx后,uwsgi只需要将django项目运行在本地,请求和响应通过nginx进行。nginx可以将静态文件单独处理,速度要比uwsgi快。
域名需要解析到服务器的ip地址上,访问域名时会将域名解析成对应的ip。

关于部署,还要单独写一个总结,把流程写一边,毕竟坑了我很长时间。网站还要继续优化调整细节,数据库的访问也要继续优化。

最后放github

--------------2017年2月6日----------------
过完年更新了一点。
1、添加搜索功能
2、添加评论分页
3、添加用户互相回复

现在才发现vue.js自己只用了一点皮毛, 组件部分还没用到,本来想把网站组件化+webpack打包,结果比想象中的难的多,琢磨了几天放弃了,修改还不如重新写一个。这个也就这样了,自己的知识还是太少,用到的东西太单一。
下一阶段任务是vue+webpack做一个博客练练手。

相关文章

  • 第二个django项目:低仿版知乎

    本来开始用简书的时候规定自己一周至少写两篇文章,然而现在距离上一篇的时间已经过去了快一个月了,现在开始慢慢补吧。最...

  • Flutter入门实战—高仿知乎日报

    Flutter版高仿知乎日报 高仿知乎日报,UI基本和Android端的知乎日报一致。新手小白的练习demo,代码...

  • 仿知乎日报2.64

    ZHDaily 项目地址 一个仿知乎日报2.64版本的个人开源项目,项目采用MVP模式,基于RxJava+RxBu...

  • 仿知乎项目总结

    第1章 介绍 第2章 你好 Typescript: 进入类型的世界 2-1 什么是 Typescript 2-2 ...

  • vue低仿知乎日报

    概述 一个基于vue的仿知乎日报的前端项目。 关于知乎日报: 知乎日报是一款拥有千万用户的资讯类客户端,每日提供来...

  • Retrofit2.x + rxjava2.x +mvp 大

    原项目地址:高仿知乎日报 Material Design + MVP + RxJava + Retrofit fo...

  • 高仿知乎日报(RxJava + Retrofit + Glide

    项目说明 该项目是一个高仿的知乎日报客户端,架构采用 MVP 的设计模式,图片素材均来自APP知乎日报,网络请求使...

  • ReactNative项目实战-仿知乎日报

    高仿知乎日报App,使用ReactNative技术,Js代码达到90%以上,采用Redux架构,持续优化更新中。。...

  • 使用python创建web静态网站

    建立Django项目 打开pyCharm企业版软件,创建一个Django项目,其中Django是一个Web框架,用...

  • Vue2.0—仿知乎日报总结

    Vue-News 一个基于vue全家桶开发的仿知乎日报单页应用 项目github地址:项目源码 项目在线地址:在线...

网友评论

  • 1df1778ae27c:楼主你好,可以加你联系方式吗,想学习学习:pray:
  • 轩辕小爱:可以的,大致看了一下感觉作者原来是做前端的吧,因为写的Python代码跟我似的看着有点low:smile:
    轩辕小爱:@海上牧云l 加油💪
    海上牧云l: @轩辕小爱 哈哈,确实low,我啥都不是,学生自己写着练手的
  • everfight:楼主问下部署到搬瓦工有相关教程的资料提供么?
    海上牧云l: @EverFighting 我写了,进我主页,就在这一篇的下一篇
  • fc8f7fffdfab:关注!正在学习中
  • Msir:感谢你的分享,更期待你的好作品。
  • 求愚:赞 厉害~
  • 晚云落:移动端上传不了图片🤔
    海上牧云l:@杏花xian外雨 可能是浏览器的问题?我手机自带浏览器和搜狗都可以
    晚云落: @海上牧云l 杏花xian外雨: 对啊,点那个choose file没反应
    海上牧云l:是头像吗,我弄得太简陋了,先上传,然后点那个修改头像。内容里面的图片刚要开始做。
  • ce4d4ead459a:还有流程?太贴心了
  • 来时往昔:作者准备开源到GitHub上吗?供我们这些初学者参考参考
    LucianoSimon: @海上牧云l 感谢作者
    海上牧云l: @来时往昔 嗯,好的

本文标题:第二个django项目:低仿版知乎

本文链接:https://www.haomeiwen.com/subject/opwivttx.html