首页>>后端>>Python->djangoimg怎么用(django使用教程)

djangoimg怎么用(django使用教程)

时间:2023-12-06 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于djangoimg怎么用的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django框架页面上传图片三个注意的写法

在django里图片上传里,分为两种一种是在django的后台上传图片,以数据库的方式上传,另一种是在html页面以表单的方式上传

首先要先安装下这个包 pip install Pillow==3.4.1

setting里需要设置 上传的路径

MEDIA_ROOT=os.path.join(BASE_DIR,'static/media')

在model里要配置数据库

class PicTest(models.Model):

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

数据库里要有这个字段

在html 要写input type=’file’ 这个字段

在view里要写逻辑

还有涉及到要操作setting里的文件 需要导入设置的包

from django.conf import settings

import os

上传的图片都是保存在 /static/media/booktest/

接受提交的数据写到文件里

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

在显示图片的时候 view.py get得到数据库里的路径地址

这里要注意 要是使用的all的方式获取的话 在html里就需要使用循环的方式来显示图片

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

第一种以django后台的方式提交! 这种用的不多,在这里也简单说一下

django上传图片并且带有预览功能

就用uploadfy呗,JS中在返回成功之后你自己在HTML中写个img标签,把返回的URL丢到IMG里不就完了,我们也用这个插件,还不错

django imagefield 如何去除clear

1、在settings.py文件加配置:

MEDIA_ROOT = ‘media/’

MEDIA_URL = ‘media/’

【记住,只用settings.py里这样设置就可以了,别人的案例中还要设置url,我不知道为什么,但是我的url里没有特殊设置喔】

2、在models里的定义:

class ImageStore(models.Model):

name = models.CharField(max_length=150,null=True)

img = models.ImageField(upload_to='img')

class Meta:

db_table = 'ImageStore'

【这里的upload_to的设置会自动在media文件夹下创建这样一个文件夹,即该值你可以自己任意设置】

3、获取前台请求:

from django.core.files.base import ContentFile

def getImg(request):

file_content = ContentFile(request.FILES['img'].read())

img = ImageStore(name = request.FILES['img'].name, img =

request.FILES['img'])

img.save()

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

【这里的img是个对象实例,而你在真正要用到图片的实例的时候,应该这样写:img.img.url、img.img.name,因为model里,img字段是个文件对象,而不是个字符串,所以,对model里的img属性应当像对一个对象一样的拿取】

4、查看数据库结果:

这里写图片描述

5、当图片上传成功了之后,项目文件下会添加一个media的文件夹,并且图片也会自动放在该文件夹下upload_to设置的文件夹路径下:

这里写图片描述

python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件

在Django项目开发中,不能像正常web开发一样通过 'imgs/bg.jpg' 访问本地静态文件,需要做一些配置,才能实现静态文件的访问。

一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。

二、项目配置

1、打开settings.py,在底部添加:

2、打开urls.py,在 urlpatterns 中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了import settings):

(不过我经过实测,不加这一个,也可以完成静态文件的访问)

3、在html模板最上面添加:

然后在需要的地方按照这个格式进行调用,如:

最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。

django 1.9 怎么配置静态文件

想把以前的一个asp.net网站移植到django上,发现django对静态资源似乎支持的不好,不能直接根据相对路径查找,要做一些配置,找了很多解决方案,整理如下:

1、django对静态资源的配置是跟版本有关的!!!切记!!!1.3以前的和以后的配置不太一样!!!下面仅针对Django1.9;

2、settings.py中的installed

apps

要包含'django.contrib.staticfiles';

3、settings.py中的STATIC_URL就是app目录下的静态文件所在文件夹的相对路径,默认为/static/,可以自定义;

4、调用时用如下形式:

{%

load

static

%}

img

src="{%

static

"my_app/myexample.jpg"

%}"

alt="My

image"/

导入js,img等静态文件后报错:

File

"D:\Python27\lib\mimetypes.py",

line

249,

in

enum_types

ctype

=

ctype.encode(default_encoding)

#

omit

in

3.x!

UnicodeDecodeError:

'ascii'

codec

can't

decode

byte

0xb0

in

position

1:

ordinal

not

in

range(128)

[27/Dec/2015

15:26:32]

"GET

/static/assets/img/nextPage_small_grey.jpg

HTTP/1.1"

500

59

找到关键报错文件mimetypes.py,百度了一下,找到了解决方案:在Python安装目录下的lib/site-packages中添加一个文件sitecustomize.py,内容为

import

sys

sys.setdefaultencoding("cp1251")

我设置的编码格式为utf-8,不知道其他格式是否也可以。重启运行,成功。

结语:以上就是首席CTO笔记为大家介绍的关于djangoimg怎么用的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/15752.html