Django进一步深入学习

Posted wavaya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django进一步深入学习相关的知识,希望对你有一定的参考价值。

一、Django文件上传

1、编写html

技术分享图片

注意事项:

1)、fileupload.html放在templates中

2)、form的action要在urls中注册

3)、method要指定post不然默认是get

4)、enctype必须指定 multipart/form-data不然无法上传文件

5)、编写上传选择控件 <input type=‘file‘ name=‘file‘/> name为后台查找名称,不一定非要file

2、配置urls

技术分享图片

必须在views中编写upload方法

3、views.py

技术分享图片

在app的views中编写,upload方法要分别针对GET和POST进行编写,

1)通过request.FILES.get(‘文件控件中的name‘)获取文件obj

2)打开要保存的文件,通常情况下会根据GUID生成新的文件名替换,这里只是过流程

3)obj.chunks()方法要注意,通过这个方法获取文件内容,并写入文件中

4)一定要记得关闭文件

5)最后返回是根据实际情况编写,这里只是Demo

运行:

技术分享图片

点击提交:

技术分享图片

 

进入对应目录,就可以看到上传的文件:

技术分享图片

真实情况还要编写upload文件夹。

技术分享图片

 

二、django CBV和FBV

FBV(function base views) 就是在视图里使用函数处理请求。

CBV(class base views) 就是在视图里使用类处理请求。

其中cbv可以查看源码发现:

技术分享图片

所有方法都是小写。

所以具体实例:

1、urls

技术分享图片

一定要通过Home.as_view()来匹配

2、views

技术分享图片

Home继承自View

现编写get和post方法,马上进行测试

3、运行结果:

技术分享图片

刷新页面:

技术分享图片

提交:

技术分享图片

FBV和CBV好象区别不大。

两者没有优劣都可以使用。

 

三、django字典展示

1、字典传入

技术分享图片

2、urls

技术分享图片

3、dict.html

技术分享图片

 

运行结果:

技术分享图片

其他显示

技术分享图片

运行结果:

技术分享图片

请继续关注公众号,跟踪其他知识

 

技术分享图片

 

以上是关于Django进一步深入学习的主要内容,如果未能解决你的问题,请参考以下文章

Django入门学习--深入模板(templates)

Django入门学习--深入模板(templates)

[Django笔记] models 深入学习

C++引用的进一步深入学习

深入学习Redis:哨兵

Python全栈100天学习笔记Day41 Django深入理解框架