1.创建如下图所示的表结构:
2.base.html里面代码如下:
{% extends 'bootstrap/base.html' %}
{#定制标题#}
{% block title %}{% endblock %}
{#定制导航条#}
{% block navbar %}
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">2002博客</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="#">博客 <span class="sr-only">(current)</span></a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">登录</a></li>
<li><a href="#">注册</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
{%- endblock navbar %}
{#定制内容#}
{% block content -%}
<div class="container">
</div>
{%- endblock content %}
{#定制脚本#}
{% block scripts %}
{%- endblock scripts %}
3.index.html里面的代码如下:
{% extends 'common/base.html' %}
{% block title %}
博客首页
{% endblock %}
{% block content %}
博客内容
{% endblock %}
login.html里面的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是登录页</title>
</head>
<body>
我是登录页
</body>
</html>
4.register.html里面的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是注册页面</title>
</head>
<body>
<h1>我是注册页面</h1>
</body>
</html>
5.main.py里面的代码如下:
from flask import Blueprint,render_template
main = Blueprint("main",__name__)
@main.route('/')
def index():
return render_template('main/index.html')
6.posts.py里面的代码如下:
from flask import Blueprint,render_template
posts = Blueprint("posts",__name__)
@posts.route('/posts/')
def index():
return '感谢老铁收藏'
7.users里面的代码如下:
from flask import Blueprint,render_template
users = Blueprint("users",__name__)
@users.route('/login/')
def login():
return render_template('users/login.html')
@users.route('/register/')
def register():
return render_template('users/register.html')
8.最底下那个init.py里面的代码如下
:
from flask import Flask
from .views import config_blueprint
from .exts import config_extensions
from .config import config
#封装一个函数 专门用来创建app
#开发过程中 有 生产环境、测试环境、开发环境
#需要三个数据库 为了提升效率 传参数 指定你的环境是哪一个
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
#配置蓝本
config_blueprint(app)
config_extensions(app)
return app
9.config.py里面的代码如下:
#通用配置
class Config(object):
#bootstrap使用本地的静态文件
BOOTSTRAP_SERVE_LOCAL = True
#开发环境
class DevelopmentConfig(Config):
pass
#测试环境
class TestingConfig(Config):
pass
#生产环境
class ProductionConfig(Config):
pass
config = {
'test':TestingConfig,
'product':ProductionConfig,
'default':DevelopmentConfig,
}
10.exts.py里面的代码如下:
#导入类库
from flask_bootstrap import Bootstrap
#实例化对象
bootstrap = Bootstrap()
#封装函数 完成初始化
def config_extensions(app):
bootstrap.init_app(app)
11.manage.py里面的代码如下:
from flask_script import Manager
from apps import create_app
app = create_app(‘product’)
manager = Manager(app)
if name == ‘main’:
manager.run()
代码写完之后,点击如图所示:
输入:python manage.py runserver -d -r -p 5050
回车即可,点击下方出现的地址即可访问,效果图如下: