Python之Flask Web开发
下载python包管理工具Pip:
访问网址:https://pip.pypa.io/en/stable/installing/ 下载文件get-pip.py到本地计算机
定位到get-pip.py所在的目录 运行命令:python get-pip.py即可安装pip 卸载命令:pip uninstall pip
定位到pip.exe所在目录(C:\Python27\Scripts) 运行命令:pip install flask即可安装flask
使用pip list命令可以查看已经安装好的python包
输出“Hello world”
flask官网:http://flask.pocoo.org/
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
改变路由
@app.route('/user')
def hello_user():
return 'Hello user!'
访问:http://127.0.0.1:5000/user 结果:Hello user!
改变请求方式
@app.route('/user',methods=['post'])
def hello_user():
return 'Hello user!'
访问:http://127.0.0.1:5000/user 结果:The method is not allowed for the requested URL.
传递参数
@app.route('/users/<id>')
def user_id(id):
return 'Hello user!'+id
访问:http://127.0.0.1:5000/users/34 结果:Hello user!34
首先引入 from flask import Flask,request
@app.route('/query_user')
def query_user():
id=request.args.get('id')
return 'query_user:'+id
访问:http://127.0.0.1:5000/query_user?id=4 结果:query_user:4
反向路由
首先引入 from flask import Flask,request,url_for
@app.route('/query_url')
def query_url():
return 'query_url:'+url_for('query_user')
访问:http://127.0.0.1:5000/query_url 结果:query_url:/query_user
Jinja2模板引擎
https://github.com/mitsuhiko
Welcome to Jinja2:http://jinja.pocoo.org/docs/dev/
1.传递参数
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
return render_template("Index.html",content="Hello")
if __name__ == '__main__':
app.run()
2.传递对象
#创建models
class User(object):
def __init__(self,user_id,user_name):
self.user_id=user_id
self.user_name=user_name
#创建模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<h1>hello {{ user.user_name }}</h1>
</head>
<body>
</body>
</html>
#自定义路由
from flask import Flask,render_template
from models import User
app = Flask(__name__) @app.route('/user')
def user_index():
user=User(1,"cnki")
return render_template("user_index.html",user=user)
if __name__ == '__main__':
app.run()
3.if判断
4.for循环
<title>{% block title %}{% endblock %}</title>
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
5.模板继承
6.Flask 的消息提示与异常处理
Python之Flask Web开发的更多相关文章
- 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构 前言 学习Python也有一个半月时间了,学到现在感觉 ...
- 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码
在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...
- 《Flask Web开发实战:入门、进阶与原理解析(李辉著 )》PDF+源代码
一句话评价: 这可能是市面上(包括国外出版的)你能找到最好的讲Flask的书了 下载:链接: https://pan.baidu.com/s/1ioEfLc7Hc15jFpC-DmEYBA 提取码: ...
- Flask Web开发读书笔记
开篇:目前想自学Flask Web开发--基于Python,找了几本书准备啃啃,同时也会分享读书笔记.希望和大家一起进步. Flask是小型框架,可以算是微框架,但是他的功能还是比较多 Flask有三 ...
- Flask web开发 请求拦截和预处理
我们在开发WEB应用时,往往会需要对所有的url请求进行拦截,做些预处理,比如权限处理.日志等统一处理. 本文介绍一下Flask中的处理机制.我们通过一个简单的例子来说明. 1.编写一个简单应用 ru ...
- Flask web开发 处理Session
本文我们在上篇文章<Flask web开发 处理POST请求(登录案例)>的基础上,来讲述Flask对session的支持. 在上面案例上,我们需要修改和新增如下功能 1.登录成功后的 ...
- pycharm+python+Django之web开发环境的搭建(windows)
转载:https://blog.csdn.net/yjx2323999451/article/details/53200243/ pycharm+python+Django之web开发环境的搭建(wi ...
- 使用eclipse搭建第一个python+Django的web开发实例
python+Django的web开发实例 一.创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置.也就是通过自动生成代码来建立一个Django项目--一个Django项目的 ...
- [flask/python/web] 解析flask web开发(Miguel著)一书第11章主页不显示博文表单的问题
---------------------------------------------以下内容2017.7.14更新---------------------------------------- ...
随机推荐
- ListView中内容的动画效果
LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置. 一种直接在 ...
- Codeforces Round #223 (Div. 2) A
A. Sereja and Dima time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Android数据的四种存储方式
作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File. ...
- 关于AIR新浪登录测试
/** *由于在应用申请中,我设置的域名属于新浪云,因此在本地测试的话肯定不能成功的,有个办法就是直接在新浪云那边授权成功后,将token的值直接使用post或者get方法传递过来,直接在本地 *lo ...
- HTML DOM(学习笔记一)
嗯,工作也有一段时间了,对编程的认识也深入了一些,以前认为HTML/CSS/JAVASCRIPT是比较简单的,看网上的教程就可以了,W3C是我学习这些知识常去的一个网站,非常感谢她让我学习到了更多的一 ...
- android 解析json数据格式(转)
json数据格式解析我自己分为两种: 一种是普通的,一种是带有数组形式的: 普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid" ...
- [drp 6]接口和抽象类的区别,及其应用场景
导读:在很多时候,接口和抽象类可以替换.发现这个问题,还是之前学习设计模式的时候,看到那个UML图发现的.那么,究竟在什么时候使用接口,什么时候使用抽象类呢?现在结合这个项目,做一个总结. 一.接口 ...
- jqmobi 子菜单 高亮效果
在jqmobi 中经常用到一个 子菜单 单击某一个选项 希望能高亮:所以我是这样做的1.HTML的页面显示是这样的 <div class="order_subheader01" ...
- python 多行匹配
content = ''' abcdefg hijklmn opq rst uvw xyz ''' r = re.compile('\S+cde\S+|\S+klm\S+|^xyz$', re.MUL ...
- c#实现每隔规定时间自动执行程序代码
c#实现每隔规定时间自动执行程序代码 在一般的项目中我们很少用到c#实现每隔规定时间自动执行程序代码,但是如果你经历的项目多,或者应用程序做的比较多的话,c#实现每隔规定时间自动执行程序代码就用的比 ...