国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Django > django如何上传图片

django如何上传图片

Django-filer

头像

silencement

2019-08-17 13:33:263498浏览 · 0收藏 · 0评论

很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-filer 这个??槭迪纸计募苯臃旁谧约旱耐旧?。

1.使用pip安装

pip install django-filer

这个??樾枰?django-mptt, easy_thumbnails, django-polymorphic 以及 pillow 这些依赖包,  不过安装django-filer的时候 pip 都会自动帮我们装好这些。

2. django-filer 配置。

在 settings.py 中加入以下内容:

INSTALLED_APPS = [
    # 图片上传???nbsp;django-filer
    'easy_thumbnails',
    'filer',
    'mptt',
]
# 支持视网膜高分辨率设备
THUMBNAIL_HIGH_RESOLUTION = True

# 处理缩列图
THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace',
    'easy_thumbnails.processors.autocrop',
    'filer.thumbnail_processors.scale_and_crop_with_subject_location',
    'easy_thumbnails.processors.filters',
)

# 存放图片文件夹设置
FILER_STORAGES = {
    'public': {
        'main': {
            'ENGINE': 'filer.storage.PublicFileSystemStorage',
            'OPTIONS': {
                'location': '项目路径/media/filer',
                'base_url': '/media/filer/',
            },
            'UPLOAD_TO': 'filer.utils.generate_filename.randomized',
            'UPLOAD_TO_PREFIX': 'filer_public',
        },
        'thumbnails': {
            'ENGINE': 'filer.storage.PublicFileSystemStorage',
            'OPTIONS': {
                'location': '项目路径/media/filer_thumbnails',
                'base_url': '/media/filer_thumbnails/',
            },
        },
    },
    'private': {
        'main': {
            'ENGINE': 'filer.storage.PrivateFileSystemStorage',
            'OPTIONS': {
                'location': '项目路径/smedia/filer',
                'base_url': '/smedia/filer/',
            },
            'UPLOAD_TO': 'filer.utils.generate_filename.randomized',
            'UPLOAD_TO_PREFIX': 'filer_public',
        },
        'thumbnails': {
            'ENGINE': 'filer.storage.PrivateFileSystemStorage',
            'OPTIONS': {
                'location': '项目路径/smedia/filer_thumbnails',
                'base_url': '/smedia/filer_thumbnails/',
            },
        },
    },
}
# 指定 MEDIA_URL 的位置
MEDIA_URL = '/media/'
MEIDA_ROOT = '项目路径/media/'

在上述设置中,location 是文件真正存放的文件夹地址,而 base_url 是显示时要指定的静态文件网址。

在 urls.py 中加入以下程序代码,才能把上传的图像文件当在静态文件处理:

from django.conf import settingsfrom django.conf.urls.static import static

urlpatterns = [    # others urls ...
    url(r'^files/', include('filer.urls')),    # ...]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEIDA_ROOT)

上述设置完成后,同步数据库 ./manage.py migrate,让??榧由闲枰氖荼?。执行 ./manage.py collectstatic,刷新静态文件,加载 django-filer 自己的 CSS 和 Javascript 文件。我们便能在 admin 管理页面看到多出的两个数据表。

接着我们就可以在 Folders 数据表中进行新建文件夹,上传文件以及删除文件夹和文件等操作。

3. 把 django-filer 的图像文件添加到数据表中

使用 filer 模块提供的 FilerImageField 字段,将上传图像文件的功能整合到建立的数据项中。

在 models.py 文件中添加:

from filer.fields.image import FilerImageField

并将需要放置图片的数据表中的 image 变量改为:

image = FilerImageField(related_name='product_image')

删除 migrations 下除 __init__.py 的其他文件和 db.sqlite3 文件,重新执行 ./manage.py makemigrations 和  ./manage.pymigrate ,刷新 admin 管理页面,进入 image 字段的数据项,便可以看到 image 字段多了上传文件的功能。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

小洞流口水了 是不是饿了| 1.《奶牛娘牧场》动漫| 妈妈的职业4免费观看完整版高清| 五姑娘影院在线观看免费版电视剧| EXO妈妈MV高清在线观看| 乡村玉米地周婶的小说叫什么名字 | 欧美大片| 国产日产亚洲系列最新版本的特点 | 坤坤寒入桃子里电视剧免费看| 《玉尺经》| 《被按摩的人妻4》| WWW.MD.GOV.CN| 妈妈叫我戴上避孕套英文| 扒开腿让我躁你很舒服的导演是谁| 高压监狱在线观看完整免费高清满. | 憋尿白丝小肚子凸起高冷知乎| 无人区免费观看高清电视剧| 成全在线观看免费高清电视剧 | 细川麻里| 天天挨龠中度过BY浮白曲讲什么| 吃春晚药后妈妈疯了怎么对付 | 日本《暴力强伦轩》| 《炸裂吧!巨棒》免费阅读漫画| 黄金网站软件APP| 女人被狂躁到高潮20次| 桃色接触| 吃瓜网站爆料| 妈妈的新男友| 《性旺盛的女人》HD| 人野兽马狗猪大全| 免费外国网站浏览器推荐| 女人什么姿势下面最紧| 《厨房激战5》完整版在线观看| 女性扒开大腿内侧小肚子痒| 7777777亚洲和欧洲尺码表| 公与媳中文字幕乱码的预防方法 | 成品网站1688在线应用评价| 6969影院免费观看电视剧大全| 性共享交换俱乐部| 下面也要好好疼爱第八集剧情梗概| 游泳教学视频