现在的位置: 主页 > 公司荣誉 > 文章列表

基于Flask的博客系统搭建

作者:石家庄绿之洲商贸有限公司 来源:www.365tt315.com 未知发布时间:2017-09-12 15:59:28
基于Flask的博客系统搭建

最近在学习python,然后呢,python的用处还很多,原来计划搞机器学习和数据挖掘的,不幸…..看到python可以开发后端,一时技痒,就学习了,当时从网上找了很多资料,还有就是当时要参加比赛,所以肯定是越快上手越好,越小越好,后来选择了flask,现在静下心来看《FlaskWeb开发:基于Python的Web应用开发实战》一书,然后随着书本逐步学习flask并且逐步完善本博客系统。GalaCoding现在开源,并托管在github上。希望大家可以多多交流~~

与Flasky的区别

在《FlaskWeb开发:基于Python的Web应用开发实战》一书中,实现的简单博客功能,包括用户认证、登录、注册系统,博客编写页面,评论功能,用户资料主页,用户关注等功能。

我在学习的基础上增加了一些功能:
- 博客关注功能,新增了推荐和关注页面,也就是说,广场的形式就是推送目前较新的博客,推荐是推荐关注的博主的最新博文,关注是关心的博客的动态;
- 添加了态度评论,即可以给博客和评论进行点赞,表示赞同和不赞同;- - 添加了云标签,可以通过热门标签来获得网站的动态。

修改的功能:
- 对网站进行了改版,页面的更换,样式的修改;
- 对于用户头像,采用离线缓存Gravatar的两种类型头像,然后使用邮箱地址的一个映射函数,让用户获取默认头像;
- 修改了posts表的模型,去掉html_body属性,也就是说服务端不缓存Markdown的html版本,在浏览器端使用marked来形成实时编辑和预览,以及渲染的工作;

后期新增功能:
- 添加评论的评论功能,实现盖楼评论;
- 修改博客编辑页面,使其更友好,支持更多的markdown的类型;
- 增加图片墙的功能,让用户可以上传图片;
- 支持markdown文档上传,生成博客的功能。

一、启动 1.安装环境

如果使用这个模板很简单,首先你需要下载源码(这是当然的),然后安装python2.7环境,对于linux用户,python2.7是标配的,windows需要根据版本下载python安装程序就好了。下面给出ubuntu下的python安装。

$sudo apt-get install python

然后需要安装依赖库,你也可以在虚拟环境中安装哦,这样更方便一点。

$sudo pip install -r requirements.txt

所有与环境相关的配置,都在config.py文件中,不过你不用修改它,因为这些配置信息都来自于系统的环境变量,你可以设置环境变量来大概修改配置的目的,同时满足了隐私。值得一提是,我们提供了一个脚本来自动的初始化配置信息和加载必要的环境变量,为了保护隐私,我给注释了但是使用者必须填写,具体操作在第八节,我先说明一下需要配置的环境变量。

# 加密密钥 #export SECRET_KE= # 服务器绑定二级域名 端口 和过滤IP地址设置 #export WEBSERVER_HOST= #export WEBSERVER_PORT= export WEBSERVER_ACCESSIP=127.0.0.1 # 注册发送邮件服务器 #export MAIL_SERVE= #export MAIL_SERVERPORT= #export MAIL_USERNAME= #export MAIL_PASSWORD= #export MAIL_ADDR= # Database地址 #export DEV_DATABASE_URL= #export TEST_DATABASE_URL= #export DATABASE_URL=

设置好后,可以直接运行run.sh进行测试(第八节),当然你也可以手动的把环境变量输入(这是必须的),然后直接运行manage.py脚本进行测试。

最好的一个选择是,配置好run.sh下的环境变量,使用sudo执行,然后再进行下列命令,因为这时候系统已经保存有这些环境变量了。也可以把他们放在自己的bash.rc配置文件中。

2.数据库迁移

使用flask-migrate后,数据库迁移变得so easy,同时本步骤是必须的,有可能你下载下来的master版本是已经生成数据库了,默认的是SQLLite,但是你可以把miratation文件夹和sqllite文件删除,来重新迁移数据库,也就是重新建表。

迁移工程初始化,该步骤可以初始化一个迁移工程为后续做准备。

$python manage.py db init

初始化后,需要实行migrate指令,来生成迁移脚本,也就是说迁移工具自动生成配置数据库的脚本,该步骤必须显示调用。

$python manage.py db migrate -m "init version"

生成迁移脚本了,那么就开始正式迁移了,运行下面命令即可,如果没有数据库表,该命令会显式创建,同时运行迁移脚本,迁移数据库。

$python manage.py db upgrade

好了,现在数据库迁移完成了,可以进行下一步了。

3.启动前准备

现在虽说基本建好环境了,但是对了本博客系统实现了简单的权限管理,所以必须显式的建立权限角色,否则会出现绑定角色失败,用户只能沦为无权限状态。不过新建角色也很简单。

$python manage.py shell >>> Role.insert_roles() >>> Role.query.all() [, , ] >>>

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:咸宁网站建设 http://xianning.45qun.com

上一篇:[从头学数学] 第253节 Python实现数据结构:比特集(Bi 下一篇:最后一页