【问题标题】:Executing Python Script in Django View [Upload CSV -> Batch Geocoding -> Show Link to Download by script generated CSV]在 Django 视图中执行 Python 脚本 [上传 CSV -> 批量地理编码 -> 通过脚本生成的 CSV 显示下载链接]
【发布时间】:2019-02-12 13:36:15
【问题描述】:

我在 Google 搜索时发现了以下非常有用的脚本:https://github.com/shanealynn/python_batch_geocode/blob/master/python_batch_geocoding.py

这个脚本正是我所需要的,当我在我的计算机上本地运行它时它可以完美运行。 我有一个小型 Django 站点,我想在其中使用这个脚本(非商业用途)。我不需要完整的代码示例(即使有人有示例代码,只需发布​​它,我会通过它)而是需要采取的步骤来使用这样的脚本。最近几天我在谷歌上搜索了很多关于这个的东西,得到了很多不同的答案和不同的场景。但是,它们中没有一个真正完全适用于这种情况:

  1. 上传 CSV
  2. 运行脚本
  3. 创建链接/使下载新创建的 CSV 成为可能

有没有人可以帮助我?

在此先感谢并致以最诚挚的问候

编辑:以下是我到现在为止的步骤和代码:

我几乎遵循以下教程: https://docs.djangoproject.com/en/2.1/topics/http/file-uploads/

这是我的 sn-ps:

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')]

文件上传出现,我可以选择一个文件。这是我不知道该怎么做的步骤。我需要将它保存在我的数据库中还是我可以以某种方式将它加载到脚本中?

【问题讨论】:

  • 请提供您的代码以及您到目前为止所做的工作,我们可以帮助您改进代码以找到正确的解决方案。
  • 使用代码 sn-ps 编辑了我现有的帖子。

标签: python django csv geocoding


【解决方案1】:

您可以在 django 项目的目录中保存您的 python 脚本,并在文件上传后,按照here 的描述执行 python 脚本

【讨论】:

    猜你喜欢
    • 2020-02-13
    • 2015-10-05
    • 1970-01-01
    • 2016-09-23
    • 2012-04-17
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    相关资源
    最近更新 更多