本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier |
一、自述
本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier
自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎,最初的目的是毕业设计需求,毕设项目是做一个类似百度的搜索引擎后被导师pass掉,后又跟着 bobby 老师的 Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台教程做了一个网站,需要视频教程的私聊。从2018年二月份毕设课题确定,是我学习Python的开始,到2018年5月份毕设完成,并不是我学习Python的结束。目前仍然从事Python开发工作。是时候通过一个项目来记录一下自己的学习成果了。既然学习了django web框架,那很自然的就是想到要搭建一个网站了,最常见的个人网站自然就是个人博客。
跟着 bobby老师课程做的毕设:Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台
二、为什么要搭建个人站点
为什么我想搭建一个属于自己的个人站点推荐阅读:生活笔录 | 码农的危机感
网上有现成的博客框架,比如 Hexo、Wordpress,直接按照他们的文档安装显然达不到 Django 练习的目的,也起不到彰显逼格的效果。开始没有什么头绪,因为搭建一个网站对于我而言,难点应该是前端:JS、Jquery、CSS、HTML、AJAX,头疼的应该是CSS。后来在学习Python爬虫时,经常逛崔庆才个人站点。看着崔大的博客整的还挺炫酷,激发了我当初想建一个个人站点的激情,开始也想像崔大那样用 Wordpress搭建,但是这样局限性太大,如果我需要改动一些页面适应我自己的需求,这需要懂 PHP,不懂没办法给它动刀,不符合我放荡不羁的性格,就是想有一个自己可以随意摆弄的个人站点。
三、思考
需求:有一个可以自己随意摆弄的站点,
现有技术:Django后端开发
局限:前端——Jquery、CSS、HTML、AJAX,一直认为前端是苦力干的活,不想深入学习
怎么办?
方案一:
使用: Bootstrap自己设计页面,但是问题是这样设计出的页面,是不需要写CSS了,不过怎么才能有崔大博客的炫酷特效呢?这可能需要大量的 JQuery,难道要自己去写,那不可能吧!不现实,放弃
方案二:
请搞前端的同事给写一个,这个涉及——人情、时间、沟通,也太费劲,放弃
方案三:
此时对 Wordpress做了一下简单背调,发现 Wordpress 竟然是一个那么庞大的社区。
WordPress 是使用 PHP 语言开发的博客平台,而且还有大量的页面主题,
那么后台和主题应该相对独立,主题应该全部使用 JQuery + H5 + CSS开发,PHP只负责渲染数据,后来简单研究了一个 Wordpress 框架发现还真是这样
那么我就在想这个它用PHP做而且扩展性这么强为什么不能用 Dajngo 来开发后台呢?
Django 有这么强大的 Templates 模板功能,模板语法就很像 PHP 一样在 HTML 页面写代码
就这样我的灵感来了,毅然决定使用 Django 来开发后台,把崔大的站点主题copy下来。
对于后端开发人员来说,扒取一个全栈前端源码应该是一个必备技能
四、目标
思考:
既然要做这件事,就不能我一个人独享,应该有很多想拥有自己站点的小伙伴,都被前端知识劝退了
目标:
1、深入的学习 Django 知识 2、研究出一个 Django 和前端轻松对接的方法 3、制作一套教程 4、学习SEO知识
总结:
制作、后期维护应该都会耗费很多时间,那么不能只输出不考虑回报,如果没有回报,这个教程可能无法持续升级 所以要学习一些SEO知识
五、制作
作为一个资深的 Copier,后台应该不会选择一行行的码出来,造轮子是 Coder 的事。
然后就找到了一个写的很不错的个人站源码 TendCode、结合崔庆才个人博客前端源码,齐活
这里学到的不应该是只是仿制崔大个人站点,我是比较喜欢崔大首页的设计所以选择崔大的。
如果在别处看到自己喜欢的 Wordpress 主题,都是可以用的,因为原理都一样
搭建完成的个人站点:静觅 | StormSha的个人博客
前端源码托管在GitHub:HTML
项目的完整代码托管Github:Github
教程目录
Django个人博客开发十六 | Haystack 全文搜索
Django个人博客开发十八 | RESTful API接口
六、功能
①Django 自带的后台管理系统,方便对于文章、用户及其他动态内容的管理
②文章分类、标签、浏览量统计以及规范的 SEO 设置
③用户注册登录
④文章评论系统,支持 markdown 语法,二级评论结构和回复功能
⑤强大的全文搜索功能,只需要输入关键词就能展现全站与之关联的文章
⑥RSS 博客订阅功能及规范的 Sitemap 网站地图
⑦RESTful API 风格的 API 接口
⑧炫酷的支持Markdown语法的评论区
⑨及时的消息通知
七、总结
初学 Django 时学习资源一大把,多的就像书架上的书,有些根本连目录都没看过,即使有的看了脑子中没有一个项目概念,苦恼无比。
自学一般是这么个流程: 视频 -> 网络教程 -> 读书
初学看视频、会点基础后根据需求做点东西卡壳时Google网络教程、进阶需要看书
视频基本都是:天天生鲜、个人博客等
网络教程:菜鸟|学Python、廖雪峰、自学堂
看书就很随意了,我是没看过书,不知道有什么比较好的书
其实在自学过程中使用最多的应该是:百度、Google
基本是遇到问题就是搜索,搜索到的文章基本都是只言片语,有的甚至千篇一律,解决问题的效率极低
这个系列打算将自己从个人博客的构思、开发、部署整个阶段详细记录下来,
这是第一版,虽然细节不到位,但是还算完整,如果在阅读中发现有表达错误,或者知识点错误,或者搞不懂的地方,请及时留言,可以在评论区互相帮助,让后来者少走弯路是我的初衷。我也是一步步摸着石头走过来的,深知网络上只言片语的图文教程,给初学者带来的深深困扰。欢迎在评论区指出错误,丰富此教程让更多人少走弯路。 我也会不断升级这个教程
八、展望
把我的个人站点使用 Django Rest Framework + vue.js 进行升级改造,所以现在,有时间也在学习 vue.js
Vue + ElementUI + Webpack + VueRouter
发现 VUE 也有像 Bootstrap一样好用的 ElementUI,感觉比 Bootstrap 还牛逼
————————————————————————————————————————————————————————————————————————————————————
转载请注明: StormSha » Django个人博客开发 | 前言