继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第14天 网页显示excel文件和使用class重写视图

土星猪
关注TA
已关注
手记 76
粉丝 5
获赞 0

1.课程名称:网页下载excel文件,使用class重写视图


课程章节:利用class重写视图


2.课程内容:

    如何在响应对象fileResponse发excel文件

    

还是老样子添加访问路径,写入视图函数


http://img4.mukewang.com/63676c7c00015a1d09130468.jpg


views.py 写入函数


def print_excle(request):

引用fileResponse,因为之前的引用是局部的,所以现在还是需要引用

from django.http import FileResponse

全路径连接这个excle文件

file_name = os.path.join(settings.BASE_DIR,'templates/..yyyy.xlsx')

用rb方法读取文件

返回 响应对象fileResponse,conten_type 类型输出选择excel

http://img2.mukewang.com/636771b600016bfb12850650.jpg



打开网站输入路径测试一下

http://img4.mukewang.com/6367722a0001188006100050.jpg


网页会无法直接显示excel类型的文件,而是改为下载

http://img.mukewang.com/636772770001686004040290.jpg


成功  


////

然后是是使用class重写视图

视图就是简单的一个函数,然后返回一个响应




http://img.mukewang.com/6367772400017bcc12440671.jpg




    使用class类展示视图,变得更加简洁

    先继承视图 配置模板地址 配置url

    http://img.mukewang.com/63677f830001377b12640673.jpg


写入

http://img4.mukewang.com/6367828f0001456607860110.jpg


然后在views.py写入class

http://img4.mukewang.com/636782b20001037505580120.jpg


继承templateview,新建一个html做测试


把html 赋给 template_name


路径加上 as_view 调用

http://img3.mukewang.com/6367831b0001464f07070111.jpg

然后测试 显示出来了

http://img.mukewang.com/63678a7f0001a4d807180381.jpg


templateview原理解释

http://img2.mukewang.com/63678b04000195f510300287.jpg





这个templateview第一步会从主项目的目录settings寻找模板文件

http://img1.mukewang.com/63678c330001975612700445.jpg




在项目的根目录下有一个templates, 它会在这里寻找show_class html

DIRS': [BASE_DIR / 'templates']


找不到就会到app的模板目录寻找模板文件




还有其他类的内置的通用视图

http://img2.mukewang.com/63678f2d0001069d12880663.jpg

http://img4.mukewang.com/63678f560001a78711380695.jpg

很多内置的视图都可以直接拿来用,便更加简洁



本节完!! O(∩_∩)O





打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP