Скачать подмножество объектов в Джанго - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть сайт с поисковой страницей с множеством форм и страницей для отображения результатов поиска.Я хочу, чтобы пользователи могли загружать результаты поиска (в виде текстового файла или чего-либо еще).

Это в основном то, как выглядит мой взгляд:

def search_page(request):
    form = SearchOptions()
    if request.method == 'POST':
        #filter the objects based on the input in the forms
        return render_to_response('results.html', {'filtered_objects' : filtered_objects}, context_instance=RequestContext(request))

    else:
        return render_to_response('search_page.html', {'form' : form}, context_instance=RequestContext(request))

В идеале,Мне бы хотелось другое представление для обработки загрузок, что-то вроде

def download(filtered_objects):
    #process file
    return downloadable_file

У меня есть работающее представление загрузки (оно позволяет мне загружать фиктивный файл), но я не знаю, как передать в него фильтрованные объекты

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011

Вы можете определить функцию поиска утилиты, которая возвращает результаты поиска на основе параметров поиска;и предоставьте возможность представлениям вызывать эту функцию и определять, как должен быть представлен результат (загрузка html или csv, json или что-либо еще).

В качестве альтернативы, вы можете добавить параметр (в URL или в видеполучите параметр), который определит выходной формат и вернет соответствующий ответ.Будьте осторожны с недопустимыми параметрами.

0 голосов
/ 14 ноября 2011

Достаточно ли экспортировать результат вашего запроса в файл CSV?

Попробуйте и посмотрите, подходит ли это тому, что вы хотите сделать: https://docs.djangoproject.com/en/dev/howto/outputting-csv/?from=olddocs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...