当前位置: 首页 > 网络应用技术

如何调用图片上传(Django实现文件上传)

时间:2023-03-09 11:23:26 网络应用技术

  指南:许多朋友询问了Django如何称呼图片上传。本文的首席执行官注释将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  Django有两种类型的静态文件,即静态和媒体。

  增加Media_url和Media_root

  进口:

  修改urlpatterns:

  在本地调试中,setter.py文件设置为真实为true

  注意:upload_to选项

  使用nginx处理django静态文件,nginx.conf文件媒体配置如下:

  自动化接口时,有时会遇到图片上传的接口。目前,内容类型不是应用程序/JSON。

  这是DRF编写图片上传界面和测试。

  1.写图片上传界面

  首先创建一个文件夹我们要存储文件,并在settings.py中配置路径:

  在项目的urls.py中配置媒体路线:

  在应用程序的models.py中创建模型:

  并在serializer.py中创建序列化:

  写视图。

  urls.py配置路由到应用程序:

  最后,让我们测试:

  在项目中做一个坑。

  最初,我觉得映像是在模型中定义的,这可以简化MySQL访问图片。实际上,读取静态图片确实很方便,只有相对路径是正确的。

  例如:

  但是,当用户需要阅读用户时,路径的问题就会暴露出来。

  随便写这个

  显然这条路是正确的,但是鹅,Django认为这条路可能来自别人的房子

  尝试静态这一路

  哦,可以显示图片。

  因此,我继续在正在进行的项目中高兴地使用它

  似乎仍然没有地方无法使用

  图片也是路径,因此请尝试在urls.py上添加匹配项。

  在许多博客中也发现了类似的操作。Django文档中有类似的谚语

  添加类似匹配项后

  可以再次使用。Sescein命令避免快乐,将其添加到您自己的项目中以尝试

  Django上传图片:

  从PIL导入图像

  def uploadimage(请求):

  如果request.method =='post':

  content = request.files ['image field']

  尝试:

  img = image.open(content)

  #img.thumbnail((500,500),image.antialias)#

  img.save(“ abv.png”,“ jpg”)#保存图片

  除例外,E:

  返回httpresponse(“错误%s”%e)

  返回httpresponse(“ ok”)

  返回httpresponse(“错误”)

  测试HTML:

  身体

  div class =“ file-box”

  form action =“ method =”

  输入类型='text'名称='textfield'id ='textfield'class ='txt' /

  输入type =“ file” name =“ image field” class =“ file” id =“ image field” size =“ 28” onChange =“ document.getElementById('textfield')。值= this.vartue” / / /

  输入type =“ submist” name =“ sumper” class =“ btn” value =“ upload” / / / /

  /形式

  /div

  /身体

  结论:以上是首席执行官注明给所有人的Django的所有内容。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。