不要太关注细节,如你提到的wsgi,先整体,后细节,而疑惑就需要自己进入源码找答案了。
要深入学习还是需要看源码,了解flask的原理。比如context,request, session的原理;如何增加模板filter,如何注入方法;flask_sqlalchemy的db session也是构建在context上,具体原理;flask_cache的细节,memoize如何通过类方法清空实例方法的cache;jinja2的filterpy中的filter是否熟悉,bccache是否对你有用,深入了解模板原理。
当遇到阻塞请求,如调用外部api时,如何提高系统吞吐量;用flask如何实现长连接(Comet)。。。(借助gevent,想明白后你就会发现其实tornado最有优势的优点其实不过如此)
其实单纯的一个框架是有限的,难点在于如何和其它组件更好更高效的工作。你需要了解的大概是以下东西
前端 尝试flask_bootstrap 结合jinja2 模版等
jinja访问flask的变量简直不要更容易,只需要在路由的return之中将你想传递给前端的变量当作参数就行
数据库我用的是sqlite3 因为觉得很轻,所以对数据库 *** 作没用flask的插件 直接简单粗暴的用conn cursor之类云云python自带的 *** 作sqlite方法裸写
几乎前端就是各种form提交给后端
后端接受前端post过来的数据 做出各种 *** 作。然后返回的时候在return中把需要前端显示的数据作为参数一并return。前端利用jinja2就可以直接获取到了。
比如我的用户系统就是用session存值来实现的。
写好之后,由于flask自带的web太烂 多几个请求就崩了 所以你还需要略微了解一下uwsgi和nginx
最终单文件几十行代码搞定了一个迷你社交网站 每个人有自己的个人页面,同时可以互相评论 点喜欢等等
其中涉及了数据库的增删查改,以及你所说的 将其显示在前端 的功能
当然,我写的很逊,也没有做mvc分离 代码写成一坨 只图糙快猛了…
所以说如果想简单的实现你要的功能不用再考虑其他的了 直接开写吧 基础的flask就够了 不会就查书就行了
用张纸把你的各个需要做的部分列一下 比如用户 审核 查看 统计 之类的 逐个解决
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)