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

如何在Django上载图片(Django上传图片并显示)

时间:2023-03-08 21:17:29 网络应用技术

  简介:今天,首席CTO Note将与您分享如何在Django上传图片。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  在项目中做一个坑。

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

  例如:

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

  随便写这个

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

  尝试静态这一路

  哦,可以显示图片。

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

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

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

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

  添加类似匹配项后

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

  在Django中的图片上传中,将两种类型上传到Django的背景上上传图片,以数据库的形式上传,另一个类型为数据库的形式,另一个则在HTML页面上以一种表单上传。

  首先,安装此软件包PIP安装枕头== 3.4.1

  您需要设置在设置中上传的路径

  Media_root = os.path.join(base_dir,'static/Media')

  在模型中配置数据库

  类Pictest(Models.Model):

  pic = models.imagefield(upload_to ='booktest')

  数据库中必须有此字段

  在html中写入pip type ='file'

  在视图中写逻辑

  还需要导入设置中的文件。

  来自django.conf导入设置

  导入操作系统

  上传的图片保存在/静态/媒体/booktest/

  接受文件中编写的提交数据

  然后将提交的数据路径保存到数据库

  显示图片时,view.py获取数据库中的路径地址

  如果您使用所有方法,请在此处注意以获取它,您需要使用周期在HTML中显示图片

  然后在html img url =“/static/media/{{p.pic}}}}}

  第一个是由django背景提交的!这种用途不多,所以让我们在这里谈论它

  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有两种类型的静态文件,即静态和媒体。

  增加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配置路由到应用程序:

  最后,让我们测试:

  结论:以上是CTO Notes为您汇编的Django中如何上传图片的相关内容,我希望它对您有所帮助!如果您解决问题,请与更多关心此的朋友分享问题?