python upload_python中的文件上传

Django实现

form表单实现文件的上传

/form_upload/urls.py

from django.conf.urls import url

from django.contrib import admin

from app01 import views

urlpatterns = [

url(r'^admin/', admin.site.urls),

url(r'^upload/', views.upload),

]

/app01/views.py

from django.shortcuts import render

import os

from django.conf import settings

import datetime

# Create your views here.

def upload(request):

# 1. 第一次GET请求来, 应该给用户返回一个页面

if request.method == 'POST':

# print(request.FILES)

file_obj = request.FILES.get('file_name') # 文件对象

# print(type(file_obj)) #

# print(type(file_obj.name)) #

file_name = file_obj.name

if os.path.exists(os.path.join(settings.BASE_DIR, file_name)):

# 如果存在重名的文件

name, suffix = file_name.split('.')

datatime_obj = datetime.datetime.now()

year, month, day, hour, minute,second = datatime_obj.year, datatime_obj.month, datatime_obj.day,datatime_obj.hour, datatime_obj.minute, datatime_obj.second

name += '_%s-%s-%s %s:%s:%s'%(year, month, day, hour, minute, second)

file_name = '%s.%s'%(name, suffix)

# 从上传文件对象里 一点一点读取数据, 写到本地

# with open(file_obj.name, 'wb') as f:

# for line in file_obj:

# f.write(line)

# 官方推荐写法, file_obj.chunks() 可以指定一次读多少数据

with open(file_name, 'wb') as f:

for chunk in file_obj.chunks(2200):

f.write(chunk)

return render(request, 'upload.html')

代码下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值