flask返回数据到前端_Flask 框架

本文介绍了使用Python的轻量级Web框架Flask搭建博客的详细步骤,包括创建文件夹、设计数据库模式、配置应用、创建数据库、实现登录注销功能、建立视图以及添加样式。在完成所有步骤后,一个简单的博客系统便能运行起来,允许用户添加、查看和管理条目。
摘要由CSDN通过智能技术生成

010bcc8d9e4e47e9ac6e05a809a4c014.png

Flask基础介绍

Flask 是一个轻量级的 Web 应用框架, 使用 Python 编写。基于 WerkzeugWSGI 工具箱和 Jinja2 模板引擎。使用 BSD 授权。Flask 也被称为 microframework ,因为它使用简单的核心,用 extension 增加其它功能。Flask 没有默认使用的数据库、窗体验证工具。然而,Flask 保留了扩增的弹性,可以用 Flask-extension 加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

Flask搭建博客步骤

博客功能

  1. 根据配置文件中的认证允许用户登录以及注销。仅仅支持一个用户。
  2. 当用户登录后,他们可以添加新的条目,这些条目是由纯文本的标题和 HTML 的正文构成。因为我们信任用户这里的 HTML 是安全的。
  3. 页面倒序显示所有条目(新的条目在前),并且用户登入后可以在此添加新条目。

步骤

1.创建文件夹

在开始之前,让我们为这个应用创建需要的文件夹:

/flaskr
    /static
    /templates

其中:

  • flaskr:项目总文件夹。其中会存放数据库代码文件 schema.sql 和 主代码文件 flaskr.py
  • static:项目的资源文件。用于存放 cssjavascript 文件。
  • templates:项目前端页面文件。用于存放前端页面模板。

2.数据库模式

首先我们要创建数据库模式。对于这个应用仅一张表就足够了,而且我们只想支持 SQLite ,所以很简单。在 Code/flaskr 目录下新建 schema.sql 文件并向其中写入如下代码:

drop table if exists entries;
create table entries (
  id integer primary key autoincrement,
  title string not null,
  text string not null
);

这个模式由一个称为 entries 的单表构成,在这个表中每行包含一个 id ,一个 title 和一个 textid 是一个自增的整数而且是主键,其余两个为非空的字符串。

3.应用设置代码

现在我们已经有了数据库模式了,可以创建应用的模块了。 在 Code/flaskr 目录下新建 flaskr.py 文件。对于小应用,直接把配置放在主模块里,正如我们现在要做的一样,这是可行的。然而一个更干净的解决方案就是单独创建.ini或者.py文件接着加载或者导入里面的值。 在 flaskr.py 文件中写入如下代码:

# 导入所有的模块
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
# 配置文件
DATABASE = '/tmp/flaskr.db'
ENV = 'development'
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'

下一步我们能够创建真正的应用,修改 flaskr.py 文件在其中配置初始化:

# 创建应用
app = Flask(__name__)
app.config.from_object(__name__)

from_object() 将会寻找给定的对象(如果它是一个字符串,则会导入它),搜寻里面定义的全部大写的变量。在我们的这种情况中,配置文件就是我们上面写的几行代码。 你也可以将他们分别存储到多个文件。 通常从配置文件中加载配置是一个好的主意。这时可以使用 from_envvar() 来实现,可以用它替换上面的 from_object()

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 中,你可以使用模板引擎来将数据传递给前端。常用的模板引擎有 Jinja2 和 Mako。本文以 Jinja2 为例进行说明。 首先,在 Flask 中,你需要在路由函数中获取要传递给前端数据,然后将这些数据传递给模板引擎。比如: ```python from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): data = {'name': 'Tom', 'age': 18} return render_template('index.html', data=data) ``` 在上面的代码中,我们定义了一个路由函数 `/`,它返回一个 HTML 模板 `index.html`,并将一个字典类型的数据 `data` 传递给模板引擎。 接下来,在 `index.html` 模板中,你可以使用模板引擎的语法来获取传递过来的数据,并将它们显示在页面上。比如: ```html <html> <head> <title>Flask Example</title> </head> <body> <p>Name: {{ data.name }}</p> <p>Age: {{ data.age }}</p> </body> </html> ``` 在上面的代码中,我们使用了模板引擎的语法 `{{ data.name }}` 和 `{{ data.age }}` 来获取传递过来的数据,并将它们显示在页面上。 最后,在浏览器中访问 `/` 路由,你就可以看到传递过来的数据在页面上的显示了。 当然,以上只是一个简单的例子,实际情况下,你可能需要传递更为复杂的数据结构,比如列表、字典、对象等。针对不同的数据类型,你需要使用不同的模板引擎语法来进行处理。但总的来说,使用 Flask 传递数据前端还是比较简单的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值