2013-08-23 3 views
2

У меня есть код, его рабочий, но он не возвращает фактическое имя файлазагрузки файла, но не получить имя файла,

Views.py:

def upload_file(request): 
    getusername = '' 
    getfirstname = '' 
    getemail = '' 
    getpassword = '' 

    if request.method == 'POST': 
     getusername = request.POST['username'] 
     getfirstname = request.POST['first_name'] 

def handle_uploaded_file(f): 

    destination = open('media/filename', 'wb+') 
    for chunk in f.chunks(): filename = form.clean_data['file'].name  
     destination.write(chunk) 
     destination.close() 
     getemail = request.POST['email'] 
     form = UploadFileForm(request.POST, request.FILES) 
     filename = request.FILES['file'] 

def handle_uploaded_file(f): 

    destination = open('media/filename', 'wb+') 
    for chunk in f.chunks(): 
     destination.write(chunk) 
    destination.close() 

В forms.py

filename = form.clean_data['file'].name  
+0

попробовать 'request.FILES [ 'файл'] name'. – kartheek

ответ

0
request.FILES['file'].name 

в вашем handle_uploaded_file(f) было бы f.name

источник: https://docs.djangoproject.com/en/1.6/topics/http/file-uploads/#handling-uploaded-files

Ваш источник должен выглядеть примерно так:

def upload_file(request): 
    if request.method == 'POST': 
     form = YourForm(request.POST, request.FILES) 
     if form.is_valid():    
      data = loginForm.cleaned_data 
      username = data['username'] 
      first_name = data['first_name'] 
      #you can retrieve the filename here 
      filename = request.FILES['file'].name    
      handle_uploaded_file(request.FILES['file']) 
      #... 
      return HttpResponseRedirect('/success/url/') 
    else: 
     form = YourForm() 

    return render_to_response('your.html', {'form': form}) 

def handle_uploaded_file(f): 
    #or here 
    filename = f.name 
    #... 
    with open('some/file/name.txt', 'wb+') as destination: 
     for chunk in f.chunks(): 
      destination.write(chunk) 
Смежные вопросы