python flask 基础入门
1. Flask 中的Hello World!
在使用pycharm创建一个Flask项目后,将会默认创建一个flask的app,这里来讲下每行代码表示的意义,代码入下
from flask import Flask # 导入flask模块 如果没有这个模块需要使用pip install flask 进行安装 app = Flask(__name__) # 实例化一个flask实例,flask会根据传入参数,确定应用的路径,静态文件和模板文件的默认路径 @app.route('/') # 应用的路由部分
def hello_world():
return 'Hello World!' # 该路由指向的函数部分 if __name__ == '__main__':
app.run() # 运行flask应用
运行程序后在浏览器输入http://localhost:5000就可以看到Hello World!,这就是一个最简单的Flask应用,使用ctrl+c来停止服务。
注意:
1.在使用flask编写应用时,如果对代码进行了修改,需要手动的重启服务才会生效,Flask有一个调试模式可以优化这个问题,并且在启动了调试支持后,不仅修改代码后服务会自动重启,而且代码在出现错误后会提供一个有用的调试器,调试支持允许执行代码,存在安全风险,决不能用于生产环境(添加调试支持的两种方法:1.app.debug=True;2.app.run(debug=True))
2.在使用app.run()启动应用后,会默认监听127.0.0.1的5000端口,如果想让外部机器访问只需要在run方法中加入参数来指定服务运行的IP、端口,线程进程等。run方法可以添加很多参数,后期继续讲。
2.Flask路由
flask的路由系统就是一个@app.route的装饰器,在这个装饰器中可以填入多个参数,这里的route装饰器就是把一个视图绑定到URL上。例如:
# 利用路由系统给URL绑定不同的视图函数
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/user')
def user():
return 'Hello User!'
除此之外,Flask也可以动态的构造URL的特定部分,把动态的值传递给视图函数来使用,例如:
@app.route('/user/<username>') # 接收一个动态的值传递给视图函数,视图函数又将动图数据返回给前端
def username(username):
return 'Hello {username}'.format(username=username)
# 同时也可以指定一个可选的转化器,指定动态值的类型
# 例子:<int:age>
# int 接受整数
# float 接受浮点数
# path 接受带有斜线的字符串
asdfasdf阿斯蒂芬sdfasdf
python flask 基础入门的更多相关文章
- python爬虫-基础入门-python爬虫突破封锁
python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...
- python爬虫-基础入门-爬取整个网站《3》
python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python ...
- python爬虫-基础入门-爬取整个网站《2》
python爬虫-基础入门-爬取整个网站<2> 描述: 开场白已在<python爬虫-基础入门-爬取整个网站<1>>中描述过了,这里不在描述,只附上 python3 ...
- python爬虫-基础入门-爬取整个网站《1》
python爬虫-基础入门-爬取整个网站<1> 描述: 使用环境:python2.7.15 ,开发工具:pycharm,现爬取一个网站页面(http://www.baidu.com)所有数 ...
- 大牛整理最全Python零基础入门学习资料
大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』 帖子类别:『人工智能』 阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...
- Python+Selenium基础入门及实践
Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...
- Python 零基础入门
Python 零基础入门 1.1 Python介绍 Python 是一门优雅且健壮的面向对象解释型计算机程序编程语言,具有面向对象.可升级.可扩展.可移植 语法简洁清晰易学.易读写.易维护.健壮性.通 ...
- 猜数字和飞机大战(Python零基础入门)
前言 最近有很多零基础初学者问我,有没有适合零基础学习案例,毕竟零基础入门的知识点是非常的枯燥乏味的,如果没有实现效果展示出来,感觉学习起来特别的累,今天就给大家介绍两个零基础入门的基础案例:猜数字游 ...
- Python运算符 - Python零基础入门教程
目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...
随机推荐
- Django-rest-framework源码分析----认证
一.前言 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,djan ...
- WebAPI 跨域解决方案.
先下载支持跨域的.dll,然后using System.Web.Http.Cors. 我把webapi解决方案部署到IIS上了.测试过后可以解决跨域. 方案一(用了*号,这样有安全隐患.): 直接在w ...
- django报错invalid literal for int() with base 10: ''
这种错误是因为模型类中某个字段的条件约束为int类型,但是给了一个字符串类型,所以报错,找到那个模型类的字段,并对应修改就好了.
- pymysql安装和使用
一.pymysql安装 安装mymysql前请确认python环境已经准备好,在之前的博文http://www.cnblogs.com/newzol/p/8682176.html有说明pythonwe ...
- Python内置函数(11)——complex
英文文档: class complex([real[, imag]]) Return a complex number with the value real + imag*1j or convert ...
- C# Bootstrap table之 分页
效果如图: 一.声明talbe <div class="container"> <table id="table" class="t ...
- Oracle复合B*tree索引branch block内是否包含非先导列键值?
好久不碰数据库底层细节的东西,前几天,一个小家伙跑来找我,非要说复合b*tree index branch block中只包含先导列键值信息,并不包含非先导列键值信息,而且还dump了branch b ...
- JavaScript中的单体模式四种实现方式
/* 1 简单单体 */ var Singleton = { attr1: 1 , method1:function(){ //do sth } }; alert(Singleton.attr1); ...
- ActiveMQ学习系列(二)----生产者客户端(java)
上文主要简单地将activeMq搭建了起来,并且可以用web console去登录查看相关的后台功能. 本文将学习如何用java语言实现一个生产者客户端,主要参考了以下链接: http://activ ...
- django知识回顾
一.web框架 1.web框架本质 众所周知,对于所有的web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 1.浏览器(socket客户端) 2.发送IP和端 ...