欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django實現(xiàn)前臺上傳并顯示圖片功能

 更新時間:2020年05月29日 11:40:57   作者:--TINGXIN--  
這篇文章主要介紹了Django實現(xiàn)前臺上傳并顯示圖片功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1. 前臺

templates/upload/upload.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<form action="/myupload/upload/" method="post" enctype="multipart/form-data">
  {% csrf_token %}
  名字:<input type="text" name="name"><br>
  頭像:<input type="file" name="avator"><br>
  <input type="submit" value="提交">
</form>
</body>
</html>

2. 項目設(shè)定

settings.py

#添加

ALLOW_UPLOAD = ['jpg', 'png', 'jpeg']

3.app設(shè)定

urls.py

from django.contrib import admin
from django.urls import path, register_converter, re_path
from . import views

urlpatterns = [
  path('', views.index, name='index'), # 上傳首頁
  path('upload/', views.upload), # 上傳圖片
]

views.py

from django.shortcuts import render
from .models import User,Article
from django.http import HttpResponse
from django.conf import settings
from datetime import datetime
import os
from django.shortcuts import redirect, reverse
import hashlib

# Create your views here.
def index(request):
  users = User.objects.all()
  article = Article.objects.all()
  return render(request, 'myupload/index.html', locals())


def upload(request):
  if request.method == 'GET':
    return render(request, 'myupload/upload.html')
  else:
    name = request.POST.get('name')
    pic = request.FILES.get('avator')

    media_root = settings.MEDIA_ROOT # media
    allow_upload = settings.ALLOW_UPLOAD # ALLOW_UPLOAD
    # path = 'upload/{}/{}/{}/'.format(datetime.now().year, datetime.now().month, datetime.now().day)
    '{:02d}'.format
    path = 'upload/{}/{}/{}/'.format(datetime.now().year,'{:02d}'.format(datetime.now().month), '{:02d}'.format(datetime.now().day))
    full_path = media_root + '/' + path

    # full_path = 'media/upload/2019/12/20'
    if not os.path.exists(full_path): # 判斷路徑是否存在
      os.makedirs(full_path) # 創(chuàng)建此路徑

    # 要不要改圖片的名字 生成hash
    # 這塊要不要判斷圖片類型 .jpg .png .jpeg
    # '/../../../myviews/setting.py'
    print(pic)
    print(full_path)
    print(full_path+pic.name)
    if pic.name.split('.')[-1] not in allow_upload:
      return HttpResponse('fail')

    with open(full_path + '/' + pic.name, 'wb') as f:
      for c in pic.chunks(): # 相當(dāng)于切片
        f.write(c)

    User.objects.create(name=name, avator=path + pic.name)
    return redirect('myupload:index')

Django實現(xiàn)后臺上傳并顯示圖片功能

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

相關(guān)文章

  • 詳解如何利用Numpy生成各種各樣的數(shù)組

    詳解如何利用Numpy生成各種各樣的數(shù)組

    Numpy提供了多種函數(shù)和方法,可以方便地生成不同形狀和類型的數(shù)組,今天小編就帶大家學(xué)習(xí)一下如何利用?Numpy?生成各種各樣的數(shù)組吧
    2023-07-07
  • python數(shù)據(jù)持久存儲 pickle模塊的基本使用方法解析

    python數(shù)據(jù)持久存儲 pickle模塊的基本使用方法解析

    這篇文章主要介紹了python數(shù)據(jù)持久存儲 pickle模塊的基本使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置)

    matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置)

    這篇文章主要介紹了matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python實現(xiàn)Flappy Bird源碼

    python實現(xiàn)Flappy Bird源碼

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)Flappy Bird源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 教你用Python爬取英雄聯(lián)盟皮膚原畫

    教你用Python爬取英雄聯(lián)盟皮膚原畫

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著用Python爬取英雄聯(lián)盟皮膚原畫展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python自動爬取圖片并保存實例代碼

    Python自動爬取圖片并保存實例代碼

    大家好,本篇文章主要講的是Python自動爬取圖片并保存實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python小程序 控制鼠標(biāo)循環(huán)點擊代碼實例

    Python小程序 控制鼠標(biāo)循環(huán)點擊代碼實例

    這篇文章主要介紹了Python小程序 控制鼠標(biāo)循環(huán)點擊代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 玩轉(zhuǎn)串口通信:利用pyserial庫,Python打開無限可能

    玩轉(zhuǎn)串口通信:利用pyserial庫,Python打開無限可能

    想要學(xué)習(xí)如何使用pyserial庫實現(xiàn)串口通信嗎?這篇指南將帶你一步步了解Python中的串口通信,無論是控制硬件設(shè)備還是與外部設(shè)備進(jìn)行數(shù)據(jù)交換,pyserial庫都能為你提供便捷的解決方案,快來跟著我們的指南,輕松掌握串口通信的技巧吧!
    2023-11-11
  • bluepy 一款python封裝的BLE利器簡單介紹

    bluepy 一款python封裝的BLE利器簡單介紹

    這篇文章主要介紹了bluepy 一款python封裝的BLE利器簡單介紹,bluepy 是github上一個很好的藍(lán)牙開源項目, 其主要功能是用python實現(xiàn)linux上BLE的接口。,需要的朋友可以參考下
    2019-06-06
  • opencv讀取視頻并保存圖像的方法

    opencv讀取視頻并保存圖像的方法

    實習(xí)項目要做安全帽目標(biāo)檢測,拿到了公司給的一些視頻數(shù)據(jù),使用Opencv讀取視頻并每隔1s存儲一副圖像,本文就詳細(xì)的介紹一下使用,感興趣的可以了解一下
    2021-06-06

最新評論