基于python-flask-android的任务管理系统开发(四、安装使用Flask)

本文介绍Python Web框架Flask的安装与基本使用,包括搭建最简单的应用、使用Jinja2模板引擎进行动态页面渲染及模板继承,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装使用Flask

Flask是一个用Python编写的Web应用程序框架。Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。
安装flask并不复杂,在开发环境pycharm中Terminal输入命令:

pip install flask

相关的模块一并安装完毕,如click,itsdangerous,MarkupSafe,Jinja2,Werkzeug,flask

二、最简单的flask应用,这是flask最简单的一个demo

from flask import Flask
app = Flask(__name__)
#print(__name__)
@app.route('/')
def index():
    return 'Hello World'
if __name__ == '__main__':
    app.debug = True # 调试模式,生产模式关掉debug
    app.run()

使用python运行后访问localhost:5000就能看到网页显示Hello world。
这里首先引入了Flask类,然后给这个类创建了一个实例,name代表这个模块的名字。用route()这个修饰器定义了一个路由,告诉flask如何访问函数。最后用run()函数使这个应用在服务器上运行起来。

三、jinjia2模板

Flask的模板功能是基于Jinja2模板引擎实现,我们来实现一个简单的flask jinjia2 demo

from  flask import  Flask
from  flask import  render_template

app  =  Flask(__name__)
@app.route('/hello')
@app.route('/hello/<name>')

def  hello(name=None):
    return  render_template('hello.html',  name=name)
if  __name__  ==  '__main__':
    app.run(host='0.0.0.0',  debug=True)

”hello()”函数并不是直接返回字符串,而是调用了”render_template()”方法来渲染模板。方法的第一个参数”hello.html”指向你想渲染的模板名称,第二个参数”name”是你要传到模板去的变量。
模板文件“hello.html”放置的位置在当前目录下“templates”目录里(目录名不能变),模板文件如下:

<!doctype html>
<title>Hello Flask</title>
{% if name %}
  <h1>Hello {{ name }}!</h1>
{% else %}
  <h1>Hello Flask!</h1>
{%  endif  %}

运行demo,在浏览器输入http://IP:5000/hello可以看到Hello Flask,输入http://IP:5000/hello/可以看到Hello ,name指输入的 name变量名。

四、模板继承

一般我们的网站虽然页面多,但是很多部分是重用的,比如页首,页脚,导航栏之类的。对于每个页面,都要写这些代码,很麻烦。Flask的Jinja2模板支持模板继承功能,省去了这些重复代码。让我们基于上面的例子,在”templates”目录下,创建一个名为”layout.html”的模板:

<!doctype html>
<title>Hello Sample</title>
<link rel="stylesheet"  type="text/css"  href="{{ url_for('static', filename='style.css') }}">
<div class="page">
    {% block body %}
    {% endblock %}
</div>

再修改之前的”hello.html”,把原来的代码定义在”block body”中,并在代码一开始”继承”上面的”layout.html”:

{%  extends  "layout.html"  %}
{%  block  body  %}
{%  if  name  %}
  <h1>Hello {{ name }}!</h1>
{% else %}
  <h1>Hello World!</h1>
{%  endif  %}
{%  endblock  %}

五、蓝图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值