美文网首页
python-flask笔记(三)

python-flask笔记(三)

作者: f1a94e9a1ea7 | 来源:发表于2018-07-27 08:51 被阅读12次
教程用的是bootstrap的模板,这里就用纯html和css自己写了

- 更改前面写的路由,‘/’根路由返回index.html,‘/<username>'返回user.html

  • blog.py:
@app.route('/')
def hello_world():
    return render_template('index.html')

@app.route('/<username>')
def user(username):
    return render_template('user.html', username=username)

  • index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Just for fun</title>
</head>
<body>

<h1>Hello world</h1>

</body>
</html>
  • user.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Just for fun</title>
</head>
<body>

<h1>Hello {{username}}</h1>

</body>
</html>
  • 启动服务器 在浏览器打开命令行里给出的url,就可以看到 helloworld,在url后面随便加上什么 比如我的是 ’http://127.0.0.1:7777/baozi‘ 可以看到页面上就是 hello baozi

- 现在添加404页面和500页面,当访问返回404或500时就给访问者展示这两个页面

  • 404.html,其他同index.html页面一样,只改<h1>标签里面的文字
<h1>Not Found</h1>
  • 500.html
<h1>Server Error</h1>
  • 添加这两个路由:
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

@app.errorhandler(500)
def internal_server_error():
    return render_template('500.html'), 500
  • 现在访问比如http://127.0.0.1:7777/baozi/jdsfhj,页面就会返回Not Found几个字,如果没有配置404页面,返回的除了这几个字下面还有一行小字,注意区分

  • 完整的blog.py

from flask import Flask
from flask import render_template


app = Flask(__name__)


@app.route('/')
def hello_world():
    return render_template('index.html')

@app.route('/<username>')
def user(username):
    return render_template('user.html', username=username)

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

@app.errorhandler(500)
def internal_server_error():
    return render_template('500.html'), 500



if __name__ == '__main__':
    app.run(port = 7777,debug=True)

  • debug=true 是当你对程序做出了改变之后,不需要手动重启项目,项目会自动帮你做出重启

- 使用Flask-Script支持命令行选项

  • Flask的开发web服务器支持很多启动设置选项,而传递设置选项的理想方式是使用命令行参数
  • 先下载Flask-Script
pip install flask-script
  • 修改blog.py
from flask import render_template
####下面添加
from flask_script import Manager


app = Flask(__name__)
####下面添加
manager = Manager(app)


app.run(port = 7777,debug=True)
####这里不是添加 , 是将上面这句更改为:
manager.run()

(自我理解:manager = Manager(app) 类似 Vue.use(Router))

  • 之前有发生过文件修改访问5000端口返回的都是以前那个数据,把浏览器缓存清除了也没有解决,所以干脆换了一个端口,但是这里不能直接在 manager.run()配置端口,而是在命令行启动的时候添加参数
##正常以5000端口启动
python3 blog.py runserver

##以7777端口启动
python3 blog.py runserver -p 7777

相关文章

  • python-flask笔记(三)

    教程用的是bootstrap的模板,这里就用纯html和css自己写了 - 更改前面写的路由,‘/’根路由返回in...

  • Python学习

    python-flask框架学习(三) flask模板渲染 1、静态文件 静态文件,通常指的是在web 项目下,内...

  • python-flask笔记(二·)

    Flask主要有两个依赖: 路由,Web服务器网关接口子系统(由Werkzeug提供) 模板系统(由Jinja2提...

  • python-flask笔记(一)

    python 虚拟环境(windows): 命令行下安装:pip install virtualenvpip in...

  • python-flask笔记(四)

    如何获取get请求的参数 修改视图函数 现在在浏览器输入http://127.0.0.1:7777/会看到hell...

  • python-flask笔记(五)

    用到的数据库是sqlite,这个数据库不需要安装(因为这个数据库的运行是基于文件系统的),只要你电脑能运行C语言就...

  • python-flask笔记(六)

    此章和教程出入不大,可直接看原教程 之前写的代码耦合太重,python也可以像js模块化一样模块化程序结构 模块化...

  • 解决Flask错误“TypeError: 'bool' obje

    标签: Python Flask 【参考链接】python-flask 教程学习过程遇到难题TypeError: ...

  • python-flask学习笔记1

    python的特点:简单;面向对象;脚本语言;可拓展性;丰富的标准库;活跃的开源社区;应用领域:web;爬虫;科学...

  • Swagger 关于 AttributeError: no 'G

    SwaggerEditor 2.0 生成 python-flask 服务器端代码中使用 python 3.7 版本...

网友评论

      本文标题:python-flask笔记(三)

      本文链接:https://www.haomeiwen.com/subject/hcdimftx.html