为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Html5 CSS3 Django

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


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


2.课程内容:

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

    

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


https://img1.sycdn.imooc.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

https://img1.sycdn.imooc.com//636771b600016bfb12850650.jpg



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

https://img1.sycdn.imooc.com//6367722a0001188006100050.jpg


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

https://img1.sycdn.imooc.com//636772770001686004040290.jpg


成功  


////

然后是是使用class重写视图

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




https://img1.sycdn.imooc.com//6367772400017bcc12440671.jpg




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

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

    https://img1.sycdn.imooc.com//63677f830001377b12640673.jpg


写入

https://img1.sycdn.imooc.com//6367828f0001456607860110.jpg


然后在views.py写入class

https://img1.sycdn.imooc.com//636782b20001037505580120.jpg


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


把html 赋给 template_name


路径加上 as_view 调用

https://img1.sycdn.imooc.com//6367831b0001464f07070111.jpg

然后测试 显示出来了

https://img1.sycdn.imooc.com//63678a7f0001a4d807180381.jpg


templateview原理解释

https://img1.sycdn.imooc.com//63678b04000195f510300287.jpg





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

https://img1.sycdn.imooc.com//63678c330001975612700445.jpg




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

DIRS': [BASE_DIR / 'templates']


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




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

https://img1.sycdn.imooc.com//63678f2d0001069d12880663.jpg

https://img1.sycdn.imooc.com//63678f560001a78711380695.jpg

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



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





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消