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

如何传递Django的图片(Django上传)

时间:2023-03-06 20:38:30 网络应用技术

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

  编辑设置:

  Media_root和Media_url表示用户上传的文件。它可以理解为存储可变文件的文件夹。

  这两个参数的用途是什么?

  在诸如Django的FileField和ImageField之类的模型类中,有upload_to参数可供选择。

  上传文件后,它将自动保存到:OS.Path.join(Media_root,upload_to)。在此示例中

  Media_url表示用户可以通过可以访问的URL访问这些上传的文件资源。

  在此示例中,该计算机的地址为:

  然后通过:文件名可以访问相关的上传图片或其他文件。

  static_root和static_url是网站上使用的静态图片,CSS,JS和其他文件的保存地址。可以理解,网站操作期间将不再更改文件的文件夹删除或添加)

  static_url,类似于Media_url;当setter_url为“/static/”时,通过:文件名可以访问相关的静态文件。

  static_root是一个相对特殊的文件夹。这是Django的开发模型与部署模型最不同的地方。

  通常,在开发模式下,我们可以在我们的项目下建立相应的应用程序,然后在每个应用程序下设置相应的静态文件夹。在DEBUG = true中,Django将自动为我们找到这些静态文件(每个应用程序)并在WebPage.ever,在部署模式下,Django认为这些任务更有效地由Web服务器运行。

  因此,部署时,我们需要运行:

  此命令将将每个应用程序中的文件复制到静态目录的文件为static_root文件夹。

  如果在部署模式下,(debug = false)访问相关的网页(例如:文件名,将无法访问django下的每个应用程序中的静态文件夹,而是在static_root中指定的文件夹。

  为了在部署模式下正确使用它,我们还需要将以下内容添加到URLS.PY:

  这相当于在“静态”开头的链接时告诉如何处理Django。

  理解上述内容后,让我们在前端显示图片。

  编写显示视图功能以传递动态图片:

  然后写show.html:

  在项目中做一个坑。

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

  例如:

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

  随便写这个

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

  尝试静态这一路

  哦,可以显示图片。

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

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

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

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

  添加类似匹配项后

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

  只需使用Uploadfy呗即可。返回JS后,您在HTML中编写一个IMG标签,然后将返回的URL扔到IMG中。

  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

  /身体

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

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

  1.写图片上传界面

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

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

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

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

  写视图。

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

  最后,让我们测试:

  结论:以上是Django如何通过首席执行官指出Django的图片的答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?