> 由于使用了 Cloudflare 的 CDN脚本,该网站被墙,所以可能出现访问缓慢的现象。
## 前言
源码可直接运行,支持markdown语法,支持邮箱注册账号,采用质感风格,任何问题均可参考[《Flask Web开发:基于Python的Web应用开发实战》](https://book.douban.com/subject/26274202/)。
博客网址:http://www.unrealblue.cc/
项目地址:https://github.com/linanwx/unrealblue-blog
## 效果预览
![image.png](http://otwwkzjm5.bkt.clouddn.com/17-7-31/94649976.jpg)
![markdown语法](http://otwwkzjm5.bkt.clouddn.com/17-7-31/74577052.jpg)
![登录](http://otwwkzjm5.bkt.clouddn.com/17-7-31/13913760.jpg)
![首页](http://otwwkzjm5.bkt.clouddn.com/17-7-31/29553544.jpg)
![响应式布局](http://otwwkzjm5.bkt.clouddn.com/17-7-31/32746142.jpg)
## 部署过程
首先为了验证程序功能,需要在本机上部署,若需要在服务器端运行,使用 nginx 反向代理工具,可以将端口号暴露出去,这样其他人就可以在公网访问你的博客了,具体过程如下。
1. 安装virtualenv python虚拟环境,` pip install virtualenv ` 或者 `pip3 install virtualenv` 。然后使用virtualenv在一个合适的目录,例如在该项目下面建立venv环境` virtualenv venv `,
2. 激活virtualenv环境,运行venv目录下的activate,`. venv/bin/activate`, 注意点的位置,之后你会看到命令行前面多了(venv)这个标记。
3. 在虚拟环境下安装所有requirements.txt中的模块, `pip3 install -r requirements.txt`。如果安装太慢,你可能需要配置pip的国内源。更改pip源的方法参见pip官方页面。
4. 导入坏境变量,在项目目录下创建文件 `env` ,输入如下字段:
* `MAIL_USERNAME=email@example.com` (服务器发验证码用的邮箱,开启了smtp服务的邮箱账号,程序里默认使用qq邮箱,修改config文件可成其它类型邮箱)
* `MAIL_PASSWORD=password` (上面邮箱的密码,注意qq邮箱使用特殊16位专用密码)
* `FLASK_ADMIN=admin@example.com` (服务器运行后,使用该邮箱创建账号就是管理者)
* `MAIL_SERVER=smtp.qq.com`(邮箱服务器地址)
* `FLASKY_MAIL_SENDER=example@foxmail.com`(发送人)
5. 安装数据库迁移。输入以下命令
* `python manager.py db init` (使用init命令创建迁移仓库,此时会多出 migrations 文件夹)
* `python manager.py db migrate -m "initial migration"`(migrate命令用来自动创建迁移脚本)
* `python manager.py db upgrade`(更新数据库,第一次使用该命令会新建一个数据库data-dev.sqlite)
6. 部署程序, `python manager.py deploy`
7. 在本地运行程序, `python manager.py runserver`打开 http://127.0.0.1:5000 端口查看,按Ctrl+C退出程序。
8. 如果在服务器运行,要保留数据,则可以复制数据库 migrations 文件夹以及数据库 data-dev.sqlite 到服务器,之后请参考这篇文章进行配置,[Flask + Gunicorn + Nginx 部署](http://www.cnblogs.com/Ray-liang/p/4837850.html) ,最后输入命令 `./venv/bin/gunicorn -w 4 -b 127.0.0.1:8080 manager:app` 此时应该可以查看8080端口显示了网页,且该端口是暴露外网的。在本地浏览器输入服务器地址,此时就可以看到博客了。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于python flask web框架的全栈项目, 前端重新设计, 写博客功能完全支持Markdown所有特性,响应式布局 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
资源推荐
资源详情
资源评论
收起资源包目录
基于python flask web框架的全栈项目, 前端重新设计, 写博客功能完全支持Markdown所有特性,响应式布局.zip (73个子文件)
222
app
__init__.py 2KB
models.py 15KB
templates
register.html 583B
include
_navbar.html 3KB
_post.html 3KB
_header.html 84B
_comment.html 2KB
_macros.html 2KB
403.html 180B
followers.html 1KB
confirm.html 298B
upload.html 320B
moderate.html 373B
post.html 928B
unconfirmed.html 781B
edit_profile.html 520B
login.html 576B
404.html 189B
confirm.txt 172B
md_editor.html 2KB
base.html 2KB
index.html 1KB
user.html 3KB
blog.html 223B
edit_post.html 227B
api_1_0
__init__.py 158B
comments.py 2KB
posts.py 2KB
decorators.py 452B
users.py 2KB
authentication.py 2KB
errors.py 487B
decorators.py 608B
main
__init__.py 116B
views.py 11KB
forms.py 2KB
errors.py 1KB
static
jquery.dropdown.css 2KB
material.min.js 6KB
bootstrap-material-design.css.map 24KB
ripples.min.js.map 4KB
ripples.css 1KB
ripples.min.css.map 621B
site.css 2KB
bootstrap-material-design.css 107KB
bootstrap-material-design.min.css.map 33KB
ripples.js 7KB
material.js 13KB
material.min.js.map 6KB
index.js 50B
ripples.min.js 3KB
codehilite.css 3KB
bootstrap-material-design.min.css 93KB
ripples.css.map 2KB
ripples.min.css 1KB
jquery.dropdown.js 13KB
auth
__init__.py 106B
views.py 3KB
forms.py 1KB
config 35B
email.py 965B
tests
__init__.py 0B
test_api.py 2KB
test_basic.py 584B
test_selenium.py 2KB
test_client.py 2KB
wsgi.py 247B
Procfile 25B
requirements.txt 888B
manager.py 2KB
.gitignore 224B
README.md 3KB
config.py 2KB
共 73 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功