4每天Python小例-flask网页游戏框架#got an unexpected keyword argument

from flask import Flask, render_template,  send_from_directory, jsonify,send_from_directory,request,make_response
import os

app = Flask(__name__)


@app.route('/')
def hello_world():

    return render_template('index.html')

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def get_file(path):
    print(os.path.abspath(request.path))
    #查看绝对路径,我的py文件是在桌面,所以这里的绝对路径是c:+路由而来的路径(path)
    #print(request.path)
    try:
        response = make_response(send_from_directory(os.path.dirname(os.path.abspath(request.path)), os.path.basename(request.path), as_attachment=True))
        #用函数获得文件所在路径(不包括文件名)和文件名
        return response
    except Exception as e:
        return jsonify({"code": "异常", "message": "{}".format(e)})






if __name__ == '__main__':

    app.run(debug=True, port=8080)

这个实验是将本地网页游戏修改成有服务器端的网页游戏。
1.要从https://www.aigei.com/game-code/code/webgame/中下载<js打飞机小游戏>,如果下载不了欢迎留言找我要文件,如果有类似模板的自己改一下都可以完成今天的实验
2.文件目录是这样的
在这里插入图片描述
3.将index.html复制在template文件夹下,如果没有template文件夹就在python程序所在目录下建一个template,这是flask的模板。因为render_template函数会从template文件夹中查找。
4.第二个路由是匹配所有路径,这是index.html里需要加载资源
在这里插入图片描述因为需要加载各种前端需要的资源,于是向服务器发出get请求,服务器会对所有路由作响应(里面的各种文件夹太多了)。通过注释可知为了返回需要的文件,将下载下的三个文件夹复制到c盘下(仅仅是c盘下,因为我的py程序就在桌面,路径就是c+路由的路径)get_file(path)必须有path这个参数,否则会报错got an unexpected keyword argument。
每天一个python小例,加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值