如何解决错误“ WSGIRequest”对象在Django 2.0.2中没有属性“文件”

时间:2019-04-07 07:16:02

标签: python-3.x django-views

在Django中无法从请求中检索文件。尝试上载图像和图标并尝试在视图中检索图像和图标时,在Django 2.0.2中获取“ WSGIRequest”对象没有属性“文件”。

from django.shortcuts import render,redirect
from django.contrib.auth.decorators import login_required
from .models import products
from django.utils import timezone

def home(request):
    return render(request,'products/home.html')

@login_required    
def create(request):
    if request.method == 'POST':
        if request.POST['title'] and request.POST['body'] and request.POST['url'] and request.Files['image'] and request.Files['icon']:
           product = products()
           product.title = request.POST['title']
           product.body =  request.POST['body']
           if request.POST['url'].startswith('http://') or request.POST['url'].startswith('https://'):
               product.url = request.POST['url']
           else:
               product.url = 'http://' + request.POST['url']

           product.image = request.Files['icon']
           product.icon = request.Files['image']
           product.date_pretty = timezone.datetime.now()
           product.hunter = request.User
           product.save()
           return redirect('home')


        else:
           return render(request,'products/create.html',{'error':'Please Fill all the Fields'})
    else:       
        return render(request,'products/create.html')    

1 个答案:

答案 0 :(得分:0)

我确认,您需要调用request.FILES而不是request.Files来访问文件。选中here