python搭建博客问题汇总

环境

python版本:2.7
web框架:Flask
orm框架:flask_sqlalchemy
前端框架:Bootstrap

问题

问题1:如何限制访问受保护的资源(需登录)

flask中拦截用户登录修饰符decorator的使用
https://segmentfault.com/a/1190000006658289
http://blog.csdn.net/kongxx/article/details/51654751
http://blog.csdn.net/kuangshp128/article/details/65629533

问题2:如何书写Markdown格式的文章。

flask markdown用法:
http://blog.csdn.net/jhgjdfhre/article/details/52253630
说明一下:如果要代码语法高亮,参考:http://pythonhosted.org/Markdown/extensions/code_hilite.html
1.安装Pygments
2.使用pygmentize -S default -f html -a .codehilite > styles.css生成styles.css
3.复制styles.css到你的工程中。

问题3:flask框架数据库和页面分页

flask数据分页:
http://baagee.vip/index/article/id/63.html
https://www.jianshu.com/p/d5224b90afeb
http://www.jb51.net/article/118715.htm

问题4:Flask框架使用的模板引擎Jinja2用法。

Jinja2文档:
http://docs.jinkan.org/docs/jinja2/templates.html

问题5:Flask框架Jinja2日期格式化

新建一个日期处理函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# file:jinja_filter.py
# coding: utf-8
__author__ = 'j.tommy'
import datetime
def datetimeformat(value, format='%Y-%m-%d'):
    """
    将float类型的日期格式化为字符串格式。
    :param value: 日期(float类型)
    :param format: 日期格式
    :return:
    """
    d = datetime.datetime.fromtimestamp(value)
    print d,type(d)
    return d.strftime(format)
```    
在app中指定过滤器
```python
# 用于页面模板进行日期格式化
app.jinja_env.filters['datetimeformat'] = jinja_filters.datetimeformat

页面使用

1
{{blog.created_at|datetimeformat('%Y-%m-%d %H:%M')}}

python博客代码:https://gitee.com/qincd/awesome-python-blog