最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django如何實(shí)現(xiàn)上傳圖片功能

 更新時(shí)間:2019年08月16日 10:45:43   作者:希希里之海  
這篇文章主要介紹了Django如何實(shí)現(xiàn)上傳圖片功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

很多時(shí)候我們要用到圖片上傳功能,如果圖片一直用放在別的網(wǎng)站上,通過(guò)加載網(wǎng)址的方式來(lái)顯示的話其實(shí)也挺麻煩的,我們通過(guò)使用 django-filer 這個(gè)模塊實(shí)現(xiàn)將圖片文件直接放在自己的網(wǎng)站上。

感興趣的同學(xué)可以看下官方介紹:https://github.com/divio/django-filer

1. 使用 pip 安裝。

pip install django-filer

這個(gè)模塊需要 django-mptt, easy_thumbnails, django-polymorphic 以及 pillow 這些依賴包, 不過(guò)安裝django-filer的時(shí)候 pip 都會(huì)自動(dòng)幫我們裝好這些。

2. django-filer 配置。

在 settings.py 中加入以下內(nèi)容:

INSTALLED_APPS = [
  # 圖片上傳模塊 django-filer
  'easy_thumbnails',
  'filer',
  'mptt',
]

# 支持視網(wǎng)膜高分辨率設(shè)備
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',
)

# 存放圖片文件夾設(shè)置
FILER_STORAGES = {
  'public': {
    'main': {
      'ENGINE': 'filer.storage.PublicFileSystemStorage',
      'OPTIONS': {
        'location': '項(xiàng)目路徑/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': '項(xiàng)目路徑/media/filer_thumbnails',
        'base_url': '/media/filer_thumbnails/',
      },
    },
  },
  'private': {
    'main': {
      'ENGINE': 'filer.storage.PrivateFileSystemStorage',
      'OPTIONS': {
        'location': '項(xiàng)目路徑/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': '項(xiàng)目路徑/smedia/filer_thumbnails',
        'base_url': '/smedia/filer_thumbnails/',
      },
    },
  },
}
# 指定 MEDIA_URL 的位置
MEDIA_URL = '/media/'
MEIDA_ROOT = '項(xiàng)目路徑/media/'

在上述設(shè)置中,location 是文件真正存放的文件夾地址,而 base_url 是顯示時(shí)要指定的靜態(tài)文件網(wǎng)址。

在 urls.py 中加入以下程序代碼,才能把上傳的圖像文件當(dāng)在靜態(tài)文件處理:

from django.conf import settings
from 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)

上述設(shè)置完成后,同步數(shù)據(jù)庫(kù) ./manage.py migrate,讓模塊加上需要的數(shù)據(jù)表。執(zhí)行 ./manage.py collectstatic,刷新靜態(tài)文件,加載 django-filer 自己的 CSS 和 Javascript 文件。我們便能在 admin 管理頁(yè)面看到多出的兩個(gè)數(shù)據(jù)表。

接著我們就可以在 Folders 數(shù)據(jù)表中進(jìn)行新建文件夾,上傳文件以及刪除文件夾和文件等操作。

3. 把 django-filer 的圖像文件添加到數(shù)據(jù)表中

使用 filer 模塊提供的 FilerImageField 字段,將上傳圖像文件的功能整合到建立的數(shù)據(jù)項(xiàng)中。

在 models.py 文件中添加:

from filer.fields.image import FilerImageField

并將需要放置圖片的數(shù)據(jù)表中的 image 變量改為:

image = FilerImageField(related_name='product_image')

刪除 migrations 下除 __init__.py 的其他文件和 db.sqlite3 文件,重新執(zhí)行 ./manage.py makemigrations 和 ./manage.pymigrate ,刷新 admin 管理頁(yè)面,進(jìn)入 image 字段的數(shù)據(jù)項(xiàng),便可以看到 image 字段多了上傳文件的功能。

我們便可以通過(guò)點(diǎn)擊 Choose Files 上傳文件了。

上傳圖片后,將 html 文件中 img 地址改為

<img src='{{product.image.url}}'>

便可以正確顯示圖片了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中pandas dataframe刪除一行或一列:drop函數(shù)詳解

    Python中pandas dataframe刪除一行或一列:drop函數(shù)詳解

    今天小編就為大家分享一篇Python中pandas dataframe刪除一行或一列:drop函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python中time模塊的幾個(gè)時(shí)間轉(zhuǎn)化方式

    python中time模塊的幾個(gè)時(shí)間轉(zhuǎn)化方式

    這篇文章主要介紹了python中time模塊的幾個(gè)時(shí)間轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 一篇文章帶你了解python集合基礎(chǔ)

    一篇文章帶你了解python集合基礎(chǔ)

    今天小編就為大家分享一篇關(guān)于Python中的集合介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2021-08-08
  • Python post請(qǐng)求實(shí)現(xiàn)代碼實(shí)例

    Python post請(qǐng)求實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了Python post請(qǐng)求實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python通用驗(yàn)證碼識(shí)別OCR庫(kù)ddddocr的安裝使用教程

    Python通用驗(yàn)證碼識(shí)別OCR庫(kù)ddddocr的安裝使用教程

    dddd_ocr是一個(gè)用于識(shí)別驗(yàn)證碼的開(kāi)源庫(kù),又名帶帶弟弟ocr,下面這篇文章主要給大家介紹了關(guān)于Python通用驗(yàn)證碼識(shí)別OCR庫(kù)ddddocr的安裝使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn)

    在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn)

    本文主要介紹了在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • django實(shí)現(xiàn)更改數(shù)據(jù)庫(kù)某個(gè)字段以及字段段內(nèi)數(shù)據(jù)

    django實(shí)現(xiàn)更改數(shù)據(jù)庫(kù)某個(gè)字段以及字段段內(nèi)數(shù)據(jù)

    這篇文章主要介紹了django實(shí)現(xiàn)更改數(shù)據(jù)庫(kù)某個(gè)字段以及字段段內(nèi)數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python模擬登陸網(wǎng)站的示例

    python模擬登陸網(wǎng)站的示例

    這篇文章主要介紹了python模擬登陸網(wǎng)站的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python處理Excel文件遇到的常見(jiàn)問(wèn)題解析與解決

    Python處理Excel文件遇到的常見(jiàn)問(wèn)題解析與解決

    Python 的 pandas 庫(kù)提供了便捷的 read_excel() 方法,但在實(shí)際使用中,我們可能會(huì)遇到各種問(wèn)題,本文將分析這些常見(jiàn)錯(cuò)誤,并提供 Python 和 Java 的解決方案,有需要的可以參考下
    2025-04-04
  • python實(shí)現(xiàn)協(xié)程的具體示例

    python實(shí)現(xiàn)協(xié)程的具體示例

    協(xié)程是一種輕量級(jí)的并發(fā)編程技術(shù),它允許程序在某個(gè)點(diǎn)上暫停執(zhí)行,本文主要介紹了python實(shí)現(xiàn)協(xié)程的具體示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評(píng)論

岳阳市| 吉安市| 贡山| 区。| 独山县| 亳州市| 屯留县| 阿克陶县| 玉林市| 易门县| 龙山县| 昌平区| 九龙城区| 宁化县| 贵定县| 大竹县| 海盐县| 海城市| 利辛县| 河池市| 闻喜县| 德令哈市| 广宗县| 忻州市| 应城市| 彝良县| 南澳县| 孟州市| 西乡县| 阿拉尔市| 东方市| 寻甸| 松江区| 龙海市| 宁明县| 凤翔县| 建宁县| 乌拉特后旗| 高青县| 南漳县| 辰溪县|