简介:今天,首席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的图片的答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?