这个项目延续之前的temp2项目,之前的项目中说了上传文字,接下来就该写文件的上传了。

1.  上传文件的话我们就得在views.py中添加一个能上传文本的函数,用这个函数来解析我们要提交的文件,首先要导入我们所需的模块或者函数

Django之文件上传

这里导入settings文件是因为我们要使用到路径,而setting里面存放了我们所需的能得到我们上传后存放文件的路径

Django之文件上传

这里我们在views.py里面多加了一个loadFile函数,前面判断我们可以不用看,直接来看38行,这句的意思告诉服务器我们上传的文件将要存放在‘static’这个目录下,这个目录下还有一个叫‘fileload’的目录,所以我们上传的文件在static/fileload这个目录下,第39行的意思是我们将temp2/loadfile.html传过来的文件给变量file,40行的意思是将文件以可读可写并且以二进制追加的方式存放在a.jpg里面,这个a.jpg又在'loadFilePash’这个目录下,这个文件是以图片形式保存的,并且给这个文件取个别名叫f,接着41行中我们声明一个变量Fread,将file文件里面的内容取出,在42行中将取出的内容写入到f中去,这就是我们上传文件的步骤,我们这里定义了一个函数,那就要在url.py里面将这个函数加入进去,这是路由规则,

Django之文件上传

2.  我们还要写一个loadfile.html的文件,用来上传我们要上传的文件

Django之文件上传

我们来看第8行,用红线画出的其意思是我们上传文件解析为字节流上传,它不支持get方法,如果不写的话其默认的是使用流技术通信,第10行中我们上传的类型是file类型,

然后我们可以来运行这个项目了

Django之文件上传

选中一张图片来提交

Django之文件上传

点击提交

Django之文件上传

然后我们去static/fileload这个目录下来去找我们提交过的图片

Django之文件上传

这样就做好了一个简单的文件上传,有一些细节需要注意,我们是以wb+的方式去写的。

相关文章:

  • 2021-12-18
  • 2021-11-18
  • 2021-04-27
  • 2021-07-02
  • 2021-11-22
  • 2021-10-12
  • 2021-08-14
猜你喜欢
  • 2021-09-18
  • 2022-12-23
  • 2021-12-17
  • 2021-12-03
相关资源
相似解决方案