从零开始用flask开发个人博客(实战一)

开始

已实现基本功能:

这两年工作一直在用django,这些日子学习了flask,因此想自己写一个教程,从入门到做出一个比较完整的个人博客,以检验自己所学。

项目所用环境为:python3.7, flask1.1.2,mysql8.0,软件工具为VSCode

github地址:https://github.com/bingyunsky/flask_blog

一、创建虚拟环境

1.使用virtualenv命令创建虚拟环境,文件夹名称为env。 --no-site-packages命令的使用,就不会复制已经存在的第三方安装包。

进入envScripts,使用activate命令激活虚拟环境(退出环境命令:deactivate)

二、安装flask

1、安装:pip install flask

2、小例子开始

1) 创建文件夹app和初始文件__init__.py

2) 项目初始化

app/__init.py

1 #-*-coding:utf-8-*-
2 from flask import Flask
3 
4 # 创建app应用,__name__是python预定义变量,被设置为使用本模块
5 app = Flask(__name__)
6 
7 from app import routes
View Code

3) 创建路由模块

app/routes.py  此为主页路由

#-*-coding:utf-8-*-
# 从app模块中导入app应用
from app import app

# 建立路由,通过路由可以执行其覆盖的方法,可以多个路由指向同一个方法。
@app.route('/')
@app.route('/index')
def index():
    return "Hello world!"
View Code

4)在app模块之外创建一个主入口来运行整个项目

myblog.py

#-*-coding:utf-8-*-
from app import app

# 防止被引用后执行,只有当前模块中才可以使用;参数debug=True指为调试模式
if __name__=='__main__':
    app.run(debug = True)
View Code

5)运行项目python myblog.py,在浏览器中查看http://127.0.0.1:5000/或者http://127.0.0.1:5000/index

现在项目结构应该是这样的:

 3、模板

1) 在app文件夹下新建templates文件夹,在templates文件夹下新建index.html,并传递数据

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>{{ title }}博客</title>
</head>
<body>
  <h1>Hello,{{ user.username }}!</h1>
</body>
</html>
View Code

routes.py

#-*-coding:utf-8-*-
from flask import render_template
# 从app模块中导入app应用
from app import app

# 建立路由,通过路由可以执行其覆盖的方法,可以多个路由指向同一个方法。
@app.route('/')
@app.route('/index')
def index():
    title = "子觉的"
    user = {'username': '子觉'}
    return render_template('index.html', title="子觉的", user=user)
View Code
原文地址:https://www.cnblogs.com/zijue/p/13936214.html