博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用flask开发网站后端
阅读量:7217 次
发布时间:2019-06-29

本文共 1655 字,大约阅读时间需要 5 分钟。

Flask 是一个用于 Python 的微型网络开发框架,可以用于快速的搭建一个小型的网站。

我的搜索引擎: 就是基于flask开发

 

一个flask的Hello World

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():    return 'Hello World!'if __name__ == '__main__':    app.run()

 

其中,app = Flask(__name__)创建的app对象就是我们的网站应用的实例。

可以看到,Flask通过@修饰符,app.route实现了对url请求到函数接口的路由。

也就是说,你如果在浏览器请求http://url.com/,通过app.route的作用,最终就会调用到hello_world。

 

使用flask做文件服务器,和nginx不同,flask不能直接提供对文件的路由,

而是需要用app.route实现对url的路由

@app.route('/JSONError.js')def file_JSONError():    from io import BytesIO    try:        return Response(BytesIO(globalv.res_data['JSONError.js']), mimetype='js')    except:        traceback.print_exc()

并在对应得函数中,返回对应得文件内容。

 

flask中的Response,就是对于的http请求中的的Request和Response

包含如下信息:

status 状态码,元数据

status_code 只包含 code 的 status

headers 头,元数据

mimetype 去掉 charset 的 content type,如 application/json

data body,元数据

我们通过Response即可返回文件数据

 

处理AJAX请求,也就是来至javascript的post的请求:

js的请求如下:

table_regchange.οnclick=function() {        var params = {
"sid":sid}; JSONRequest.post("http://abelkhan.com/changecheck", params, function (requestNumber, value, exception){ table_regcheck.innerHTML = value["check"]; }); };

后端的响应代码:

@app.route('/changecheck', methods=['POST'])def changecheck():    try:        from io import BytesIO        r = on_get_check(request.get_json())        rsp = Response(BytesIO(json.dumps(r)), mimetype='text/json')        return rsp    except:        traceback.print_exc()

这里是前端请求更换验证码,然后服务器返回新的验证码的代码,

如此即可完成请求-响应的逻辑流程。

 

 

开源的搜索引擎:

欢迎大家围观!
使用python编写了后端网络爬和前端网站
项目地址:
向我们提出意见:
对项目进行捐助:
代码托管地址如下:欢迎大家参与

 

转载于:https://www.cnblogs.com/qianqians/p/5333320.html

你可能感兴趣的文章
shell的详细介绍和编程(上)
查看>>
软件开发性能优化经验总结
查看>>
面试题编程题05-python 有一个无序数组,如何获取第K 大的数,说下思路,实现后的时间复杂度?...
查看>>
kendo grid序号显示
查看>>
Spring 教程(二) 体系结构
查看>>
Indexes
查看>>
2.Web中使用iReport 整合----------创建html格式的
查看>>
异常备忘:java.lang.UnsupportedClassVersionError: Bad version number in .class file
查看>>
最全三大框架整合(使用映射)——applicationContext.xml里面的配置
查看>>
初步理解Java的三大特性——封装、继承和多态
查看>>
知识点积累(一)
查看>>
iphone-common-codes-ccteam源代码 CCFile.m
查看>>
python:浅析python 中__name__ = '__main__' 的作用
查看>>
修改tomcat端口后不能IP访问问题
查看>>
review board
查看>>
URAL 1495 One-two, One-two 2
查看>>
牛客国庆集训派对Day3 G Stones
查看>>
虚函数简单总结
查看>>
插入排序--算法导论
查看>>
NoSQL -- Redis使用
查看>>