会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133824个问题

屏幕截图 2022-04-09 221759.png

屏幕截图 2022-04-09 221734.png

屏幕截图 2022-04-09 222039.png

老师,不知道是哪一步出错了,改了几次都不成功。

JAVA 全系列/第一阶段:AI驱动的JAVA编程/变量、数据类型、运算符 10397楼

老师,自定义文件下载的视图函数部分代码还可以进行缩减,如下所示的代码可以实现跟视频一致的效果

def file_diy_download(request):
    # 获取 记录id
    id = request.GET.get('id')
    # 得到模型实例
    upload_file_img_diy = UploadFileImgDIY.objects.get(pk=id)
    # 得到模型的 FileField 属性
    file = upload_file_img_diy.file # 获得文件对象,目录分隔符是/,最高目录级别仅仅是父级文件夹
    # 得到 FileField 类的 file 属性, 是一个文件对象
    # file_diy = file.file # 获得以系统盘符开始的绝对路径显示的文件对象,目录分隔符是\

    # 通过 StreamingHttpResponse 进行文件下载,传入的参数为 文件的字节内容
    # response = StreamingHttpResponse(file_diy.read())
    response = StreamingHttpResponse(file.read()) # 这样写能达到一致的效果

    # 通过分割,将 diy/test1_1567676990.csv 获取到 test1_1567676990.csv
    name = file.name.split('/')[-1]
    # name = file_diy.name.split('\\')[-1]  # 第一个\开启转义,下载文件的格式跟name = file.name.split('/')[-1]一样
    # 附件模式
    # 要进行 编码和解码 ,因为http协议规定, 响应头的编码格式必须是 ISO-8859-1
    response['Content-Disposition'] = 'attachment;filename=' + name.encode('utf-8').decode('ISO-8859-1')

    return response


Python 全系列/第十二阶段:Python_Django3框架/Django高级 10398楼
JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 10399楼
Python 全系列/第七阶段:网页编程基础/JavaScript 10402楼
大数据全系列/第三阶段:Linux 操作系统/Linux操作系统概述与安装 10403楼

from flask import Flask,url_for
from flask_restful import Api,Resource,reqparse

app = Flask(__name__)
api = Api(app)


@app.route('/')
def hello_world():
    return 'Hello World!'


# Flask_RESTful的基本使用
# 定义一个类视图
class LoginView(Resource):
    def get(self):
        return {'flag':'no'}
    def post(self):
        return {'flag':'yes'}

# 映射url
# api.add_resource(LoginView,'/login/','/login2/')
api.add_resource(LoginView,'/login/','/login2/',endpoint='login')

with app.test_request_context():
    # print(url_for('loginview'))     # 如果不写endpoint,那么将会使用视图函数的名字的小写作为endpoint。
    print(url_for('login'))     # 如果指定endpoint,就用视endpoint的值来指定url。


# Flask_RESTful功能之参数验证    基本用法
class RegisterView(Resource):
    def post(self):
        # 用户名 uname
        # 1.创建一个解析器对象
        parse = reqparse.RequestParser()
        # 2.利用解析器对象   添加需要验证的参数   并指定验证规则
        parse.add_argument('uname',type=str,help='用户名不符合规则!!!',required=True,trim=True)
        # 3.利用解析器对象   进行验证    若正确,直接返回验证后合格的参数值,反之,抛异常信息给客户端
        args = parse.parse_args()
        # 若验证成功后,需要插入数据库
        print(args)
        return {'tips':'注册成功'}

api.add_resource(RegisterView,'/register/')


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

请问,这里的请求方式为什么变成了“get”?


Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 10404楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/JDBC技术 10407楼
JAVA 全系列/第七阶段:项目管理与SSM框架/Maven 10408楼
Python 全系列/第二十三阶段:人工智能基础_机器学习理论和实战(旧)/Kaggle实战 10409楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 10410楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637