2-写一个接口

首先说一下,在编写Python文件时,在顶部最好加上编码声明,有时候能避免使用中文时导致的错误

# encoding: utf-8

回到app.py文件上,代码内容如下:

# encoding: utf-8

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

这是使用flask框架的启动方式,要注意的是这一段:

@app.route('/')
def hello_world():
    return 'Hello World!'

这段代码声明了一个路径(app.route),路径为'/',即
http://127.0.0.1:5000/

当浏览器访问该链接时就会执行该装饰器下的函数,return一段字符串到web前端上

编写接口

现在我们尝试写一个新的接口:

@app.route('/login/')
def login():
    return '这里是登录页面'

重新运行代码,访问http://127.0.0.1:5000/login/ 就可以看到效果了。

在这里有一个知识点,route装饰器可以有两种写法:

@app.route('/login/')
@app.route('/login')

第一种在访问没有斜杠结尾的URL时,Flask会自动重定向,帮你在结尾加上一个斜杠

第二种,如果访问一个带斜杠的URL会返回一个404错误,这样可以保持URL唯一

Debug模式

我们刚刚添加了代码,需要重新启动服务器才能生效,我们可以自行编辑服务器配置,也可以新建一个配置文件,新建一个config.py文件

config.py

#encoding: utf-8

import os

DEBUG = True
SECRET_KEY = os.urandom(24) #加密,需要24位随机字符串

在app.py内导入文件

# encoding: utf-8

from flask import Flask
import config

app = Flask(__name__)
app.config.from_object(config)

现在我们可以在修改代码后让服务器自行重载了

允许外部访问

我们可以在app.run()处做修改,允许外部ip访问服务器,指定端口等:

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

GitHub链接

你可能感兴趣的:(2-写一个接口)