@
dizzy 抱歉我没写过博客所以下面说的可能不对,不过可以给你做个参考。
你应该在看这本书:
http://book.douban.com/subject/25814739/ 吧,虽然书里面讲的很详细,但写博客本质上是在搭建网站,牵扯的东西太多,一开始就看这个肯定晕。
就我看来,如果想把网站做出来,至少有下面这些东西要懂:
前端:
写网站,前端肯定要懂。前端基本上就是html+css,如果想酷炫一些javascript也得懂,我觉得这里:
http://www.jikexueyuan.com/ 提供的教程就很好,一整套都有介绍。
你提到的jinja2本质上还是在填写html的模板,前端那套懂了稍微再看下jinja2的文档就可以了,但反过来可能会比较吃力。
另外chrome的开发者工具是个好东西,google一下有教程,写网站离不开这个。
后端:
后端主要是python负责,或者更准确地说是flask这个框架在负责。用框架的好处是写网站的逻辑都在flask里面了,所以这部分跟着上面那本书走就行,一开始不明白也没什么好办法,多写写熟了就好了。稍后觉得不够了再去看一些http协议,API设计的书就行。
数据库:
写博客就得有存放数据的地方,所以数据库跳不过去。最正经的学法肯定还是把数据库的原理看了,relational algebra要了解,SQL得会写。这块可以一边参考w3c的教程:
http://www.w3schools.com/sql/ 一边在
http://sqlzoo.net/wiki/SQL_Tutorial 上练习。很快就能入门了。
不过flask有sqlalchemy这样的ORM,具体操纵的时候是在处理python的对象而不用手写query,所以着急的话你大可直接跳过上一段说的东西去看sqlalchemy的教程和文档:
http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html 这样能快速的用起来。但还是建议至少把数据库的基本知识看了,要不然ORM也用不好。
另外ORM是个很有意思的东西,实现一个ORM需要用到元编程的知识,支持元编程的语言不多,python支持的算不错的,用元编程能写出非常强大的代码,如果学有余力又感兴趣的话可以去看看。
大致上就是这些东西。然后回过头来看,你会发现整个架构上有个叫做Control View Model的design pattern。其中数据库里放的是最原始的数据就是Model,前端也就是用户看见的页面是View,中间python干的是Control的活。你边写就可以边想,这样设计有什么好处吗?为什么不是别的样子?这东西也独立于python,但同样是非常重要的。