python - 在 Django 视图中执行 Python 脚本 [上传 CSV -> 批量地理编码 -> 通过脚本生成的 CSV 显示下载链接]
问题描述
我在 Google 搜索时发现了以下非常有用的脚本: https ://github.com/shanealynn/python_batch_geocode/blob/master/python_batch_geocoding.py
这个脚本正是我所需要的,当我在我的计算机上本地运行它时它可以完美运行。我有一个小型 Django 站点,我想在其中使用这个脚本(非商业用途)。我不需要完整的代码示例(即使有人有示例代码,只需发布它,我会通过它)而是需要采取的步骤来使用这样的脚本。最近几天我在谷歌上搜索了很多关于这个的东西,得到了很多不同的答案和不同的场景。但是,它们中没有一个真正完全适用于这种情况:
- 上传 CSV
- 运行脚本
- 创建链接/使下载新创建的 CSV 成为可能
有没有人可以帮助我?
提前致谢并致以最诚挚的问候
编辑:这是我到现在为止的步骤和代码:
我几乎遵循以下教程: https ://docs.djangoproject.com/en/2.1/topics/http/file-uploads/
这是我的片段:
表格.py
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
视图.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})
网址.py
urlpatterns = [
...
path('geocode', views.geocode, name='geocode')]
文件上传出现,我可以选择一个文件。这是我不知道该怎么做的步骤。我是否需要将其保存在我的数据库中,或者我可以以某种方式将其加载到脚本中?
解决方案
您可以在 django 项目的目录中拥有您的 python 脚本,并在文件上传后,按照此处所述执行 python 脚本
推荐阅读
- sql - SQL 查询以日期列作为决策标准从数据库中删除不正确的条目
- r - 在 odbc 包中为闪亮的应用程序定义连接
- python - 有没有办法评估 dict 中的组值并将它们附加到几个列表中
- javascript - DataTables 无法在 Edge 中对“日期”列类型进行排序
- flutter - Flutter Layout:在带有盒子约束的容器内伸缩之间的空间
- spring-data-jdbc - Spring data jdbc:如何使用来自 org.springframework.data.geo 包的 Point
- python - 如何使用 subprocess.run 在另一个文件中回显(bash)
- sql - 在 Node.js sequelize 和 PostgreSQL 中使用多对多关联创建/更新
- javascript - 如何单击输入字段内的字形图标
- android - 编译时android内核'rnd'可能使用未初始化错误