mblog php,GitHub - moling3650/mblog: myblog

mblog

经过漫长的备案,网线总算是上线了,接下来应该是各种小修小补,力求完善功能和增强体验。

我的个人技术博客:http://www.qiangtaoli.com/

一个用python3.5.1实现的个人博客网站,内含自己实现的简易版ORM框架和Web框架,欢迎查看学习。如果喜欢的话,可以点击右上角的Star按钮支持下我^_^

用Flask重建过后端,只花了一周的时间,感叹Flask这个轻框架的结构真的是太优雅了!基本上是无痛切换,如果你想深入学习MVC框架,那你最好也看一下我用Flask框架实现的mblog-Flask,你会对整个框架的架构有更深的体会的。

此博客基本按照廖雪峰的python3教程实战部分来编写,经过不少简化或重构而成(基本上看不懂的地方最后弄明白再改写了),欢迎发起pull request来完善注释和功能。

HTTP请求的生命周期

Process.png

客户端(浏览器)发起请求

路由分发请求(这个框架自动帮处理),add_routes函数就是注册路由。

中间件预处理

打印日志

验证用户登陆

收集Request(请求)的数据

RequestHandler清理参数并调用控制器(Django和Flask把这些处理请求的控制器称为view functions)

控制器做相关的逻辑判断,有必要时通过ORM框架处理Model的事务。

模型层的主要事务是数据库的查增改删。

控制器再次接管控制权,返回相应的数据。

Response_factory根据控制器传过来的数据产生不同的响应。

客户端(浏览器)接收到来自服务器的响应。

添加更新日志

直到现在才发现有需要写一个更新日志...orz

最近在学习前端,更新应该还是很频繁的。

点我查看更新

##准备工作

请确保你已经安装以下的库

python3.5 及以上版本

aiohttp: 支持异步http服务器

jinja2: python的模板引擎

aiomysql: aiomysql针对asyncio框架用于访问mysql的库

Pygments:用于实现网页代码高亮的库

mistune: 将文本markdown化,结合Pygments可以精确高亮绝大多数编程语言

所有的库都可以通过pip安装,或者更方便地使用pip install -r requirements.txt命令来安装。

###项目结构

mblog/

|

+-conf/

|

+-db_init/

|

+-log/

|

+-www/

|

+-config/

|

+-app/

||

|+-frame/

||

|+-static/

||

|+-templates/

||

|+__init__.py

||

|+factorys.py

||

|+models.py

||

|+-route.py

| |

| +-api.py   

|

orm_test.py

|

pymonitor.py

|

run.py

项目近况(Todo list)

把前端迁移到Bootstrap框架,全面支持响应式布局  (达成)

因为js的数据处理和前端绑定,js代码估计也需要修改,然而我还未学过javaScript  (达成)

将来肯定要支持代码高亮的  (达成)

数据库可迁移也是要弄的  (0%)

编写更安全更可扩展的Restful api v2 (75%)

添加Aboat me页面 (0%)

添加测试功能  (0%)

支持代码高亮

只支持python代码的高亮。

现在好像还没有支持python3.5的新语法,我也不知道为什么,明明在pygments官网示范是支持的。

只支持区块代码的高亮,markdown默认区块代码是前面四个空格。

支持html语法高亮,代码需要以

支持javascript语法高亮,代码需要以var或function或$开头

支持python3语法高亮,默认就是python3的解析器

支持php语法高亮,代码需要以<?php开头

支持大部分语言的代码高亮,需要用```(lang)\n(code)\n```包裹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值