Выполнение скрипта Python в представлении Django [Загрузить CSV -> Пакетное геокодирование -> Показать ссылку для загрузки с помощью сгенерированного скриптом CSV] - PullRequest
0 голосов
/ 12 февраля 2019

При поиске в Google я нашел следующий очень полезный скрипт: https://github.com/shanealynn/python_batch_geocode/blob/master/python_batch_geocoding.py

Этот скрипт как раз то, что мне нужно, и он работает безупречно, когда я запускаю его локально на своем компьютере.У меня есть небольшой сайт Django, где я хотел бы использовать этот сценарий (не для коммерческих целей).Мне не нужен полный пример кода (даже если у кого-то есть пример кода, просто опубликуйте его, я его расскажу), а скорее шаги, которые нужно предпринять, чтобы использовать такой скрипт.В последние дни я много гуглял по этому поводу и получал много разных ответов и разных сценариев.Тем не менее, они не полностью применимы к этому сценарию:

  1. Загрузить CSV
  2. Выполнить сценарий
  3. Создать ссылку / Сделать возможной загрузку только что созданного CSV

Кто-нибудь может помочь мне?

Заранее спасибо и наилучшими пожеланиями

edit: Вот шаги икод, который я получил до сих пор:

Я в значительной степени следовал следующему уроку: https://docs.djangoproject.com/en/2.1/topics/http/file-uploads/

Вот мои фрагменты:

forms.py

class UploadFileForm(forms.Form): title = forms.CharField(max_length=50) file = forms.FileField()

views.py

def geocode(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['file'])
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render(request, '../templates/data/geocode/index.html', {'form': form})

urls.py

urlpatterns = [
...
path('geocode', views.geocode, name='geocode')]

Загрузка файла появляется, и я могу выбрать файл.Это шаг, где я не знаю, что делать, хотя.Нужно ли сохранять его в моей базе данных или я могу просто как-то загрузить его в скрипт?

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете поместить свой скрипт Python в директорию проекта django, и после загрузки файла выполнить скрипт Python, как описано здесь

...