(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署

时间:2021-08-08 21:40:24

解决3个问题:

1、自己实现一例flask项目;
2、在flask中,如何调用json传值;
3、进一步读懂现有代码。

Flask 在整个系统中是作为一个后台框架,对外提供 api 服务,因此对它的理解学习要保持足够严谨,因为将来必然会遇到性能问题。
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
1、第一行代码
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
回显
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
代码里面,显而易见是使用了路由,这样可以进一步看清楚
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
路由也可以更复杂一些,但是现在应该不会用到
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
如果需要处理具体的HTTP方法,在Flask中也很容易,使用route装饰器的methods参数设置即可(当然是你首先要实现这个方法)
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
注意这里的表述,是在路由之上,新添加出来的一块。

为了达到统一、高质量的界面,我们需要使用模板,比如默认的这个
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署

Flask会自动配置Jinja 模板,所以我们不需要其他配置了。默认情况下,模板文件需要放在templates文件夹下。(这里的模板文件应该在之前的模板上面增加的)
想要好看的模板,最终需要的还是js和css
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
我们可以得到这样的结果:
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
直接一行代码调用过去。
(13flask继续研究)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
代码块需要包含在{% %}块中
双大括号中的内容不会被转义,所有内容都会原样输出,它常常和其他辅助函数一起使用。下面是一个例子
<a * *

html = )[] in ALLOWED_EXTENSIONS

@app.route('/uploads/<filename>')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],
filename)

@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
file_url = url_for('uploaded_file', filename=filename)
return html + '<br><img src=' + file_url + '>'
return html

if __name__ == '__main__':
app.run()