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更新---------------------------------------- ...
随机推荐
- Node.js解析Excel
1.使用node-xlsx包 var xlsx = require('node-xlsx'); 只支持xlsx格式 2.解析的Excel文件格式如下: 3.程序如下: var obj = xlsx.p ...
- JQuery基础教程:选择元素(中)
自定义选择符 JQuery在各种CSS选择符的基础上还添加了独有的完全不同的自定义选择符,注意,只要可能,jQuery就会使用浏览器原生的DOM选择符引擎去查找元素.但在使用自定义选择符的时候,就无法 ...
- Android——KEYCODE列表
电话键 键名 描述 键值 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KE ...
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章05
1.3 开发我们的第一个工作流 也许你曾经在这样的产品经理手下搞过开发:他总是在你身边转悠,并不时的问一句“你还没做完吗?”.在这一部分,我们将用一个简单的Windows Workflow程 ...
- Android开发-API指南- Calendar Provider
Calendar Provider 英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 采集 ...
- Windows环境Mycat数据库分库分表中间件部署
下载地址MYCAT官方网站 jdk安装配置 首先去oracle官网下载并安装jdk8,添加环境变量,JAVA_HOME设置为D:\Worksoftware\Java\jdk1.8 CLASSPATH设 ...
- 数据结构-多级指针单链表(C语言)
偶尔看到大一时候写了一个多级链表,听起来好有趣,稍微整理一下. 稍微注意一下两点: 1.指针是一个地址,他自己也是有一个地址.一级指针(带一个*号)表示一级地址,他自身地址为二级地址.二级指针(带两个 ...
- 学习练习 java 实例属性 静态属性
package com.hanqi; public class Test11Car11 { //静态 //实例属性 private int m = 0; //静态属性 //所有实例共有的,在内存里只有 ...
- LSP“浏览器劫持概念
关于Winsock LSP“浏览器劫持”,中招者一直高居不下,由于其特殊性,直接删除而不恢复LSP的正常状态很可能会导致无法上网所以对其修复需慎重. 先说说什么是Winsock LSP“浏览器劫持 ...
- Spring 注解实体类中非数据库字段属性
解决办法:在属性的get方法上加上一段注解标识它是临时属性,不是数据库字段就OK @Transient public List<Reverts> getChildList() { retu ...