指南:本文的首席执行官注释将介绍有关Django如何插入图片的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
在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
/身体
呢Doctype HTML
html lang =“ en”
头
meta charset =“ utf-8”
标题jing'an/标题
/头
身体
a href =“ ssl.zzidc.com” img src =“ images/a.jpg”/a
/身体
/html
在A标签中,可以添加IMG标签以添加图片的链接
Django有两种类型的静态文件,即静态和媒体。
增加Media_url和Media_root
进口:
修改urlpatterns:
在本地调试中,setter.py文件设置为真实为true
注意:upload_to选项
使用nginx处理django静态文件,nginx.conf文件媒体配置如下:
在项目中做一个坑。
最初,我觉得映像是在模型中定义的,这可以简化MySQL访问图片。实际上,读取静态图片确实很方便,只有相对路径是正确的。
例如:
但是,当用户需要阅读用户时,路径的问题就会暴露出来。
随便写这个
显然这条路是正确的,但是鹅,Django认为这条路可能来自别人的房子
尝试静态这一路
哦,可以显示图片。
因此,我继续在正在进行的项目中高兴地使用它
似乎仍然没有地方无法使用
图片也是路径,因此请尝试在urls.py上添加匹配项。
在许多博客中也发现了类似的操作。Django文档中有类似的谚语
添加类似匹配项后
可以再次使用。Sescein命令避免快乐,将其添加到您自己的项目中以尝试
harding download of togragon toploy。
简单的方法是完成文件上传并以表单进行操作。这很简单。接口更糟。
结论:以上是首席CTO指出,Django与Django相关内容的答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?