1、环境

windows 7 x64

IIS 6

python 2.7.9

wfastcgi-3.0.0

flask-0.12.2

2、安装wfastcgi,并启动wfastcgi

pip install wfastcgi

C:\Users\wangpan>D:\software\Python27\Scripts\wfastcgi-enable.exe

已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改
“d:\software\python27\python.exe|d:\software\python27\lib\site-packages\wfastcgi.pyc” can now be used as a FastCGI script processor

3、安装flask

pip install flask

4、打开windows功能,安装IIS,启用CGI

5、安装URL重写

IIS 需要安装 URL 重写组件,这个可以通过来安装。下载后运行,搜索URL,安装URL重写工具。

6、配置IIS

6.1 添加网站,根目录是d:\data\mysite\upload

6.2 d:\data\mysite\upload目录结构

upload

–static上传目录的静态文件目录

–upload.py上传文件程序

–web.config配置文件

6.3 upload目录下web.config内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

注意:

  • scriptProcessor的内容是执行wfastcgi-enable的输出

  • WSGI_HANDLER的value

  • PYTHONPATH的value

  • WSGI_LOG的目录一定要存在

6.4 upload.py上传文件的代码

#_*_coding:utf-8_*_import osfrom flask import Flask, request, redirect, url_for,render_templatefrom werkzeug import secure_filenamefrom flask import send_from_directoryUPLOAD_FOLDER = 'd:\data\mysite\upload\static'ALLOWED_EXTENSIONS = set(['txt', 'docx', 'doc', 'xlsx' , 'xls','ppt' , 'pdf', 'png', 'jpg', 'jpeg', 'gif'])app = Flask(__name__)app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDERdef allowed_file(filename):    return '.' in filename and \           filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS@app.route('/', methods=['GET', 'POST'])def upload_file():    if request.method == 'POST':        file = request.files['file']        filename = file.filename        if file and allowed_file(filename):            #filename = secure_filename(file.filename)            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))            return redirect(url_for('uploaded_file',filename=filename))            #return redirect('success.html')    return '''        Upload new File    

Upload new File

    
      

         
        '''@app.route('/upload/
')def uploaded_file(filename):    return u'文件上传成功'if __name__ == '__main__':    app.run()

7、flask学习网站

http://docs.jinkan.org/docs/flask/