使用django的APP在前端上传excel通过post传给后端读取并打印

这篇具有很好参考价值的文章主要介绍了使用django的APP在前端上传excel通过post传给后端读取并打印。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

备研了,博客许久未更了,但是学期末的大作业,遇到了问题并成功解决了,不得不记录一下。

前端

<form method="post" enctype="multipart/form-data" action="/insurance/upload_result">
	<input type="file" name="excel_file">
	<button type="submit">导入</button>
</form>

传数据表单必不可少
input用于文件类的上传,相当于先让前端收到这份文件
button用于表单的发送(submit 提交很好理解)

表单中的 action=“/insurance/upload_result”>
表明我们要将文件数据发送给谁接受。

那么我们后端代码如下:

后端

主项目的urls.py:

from django.contrib import admin
from django.urls import path, include
from . import views

urlpatterns = [
    path('vision_system', views.vision_system_html, name='vision_system'),
    path("insurance/", include("insurance.urls")), # 将insurance相关的路由都自动发往insurance这个APP中进行进一步匹配
    path("application01/", include("application01.urls"))
]

insurance这个APP下的
urls.py:

from django.urls import path
from . import views
urlpatterns = [
    # http://127.0.0.1:8000/insurance/insurance
    path("upload_result", views.upload_result),
]

需要正确配置好我们发送请求的路由,不然接收不到。
ps:当你在APP里写路由时,一定千万必须不能忘记把APP那层加上(指在前端表单的action中)
因为我这里是在APP接受post,因此虽然路径是upload_result
但是实际上的访问路径需要加上APP那层,就是:/insurance/upload_result

然后我们视图函数配置好我们接受和处理送来的数据的函数即可:

def upload_result(request):
    if request.method == 'POST':
        try:
            f = request.FILES.get('excel_file')
            excel_type = f.name.split('.')[1]
            if excel_type in ['xlsx', 'xls']:
                user_data = pd.read_excel(f)
            print(user_data)
        except:
            error = '解析excel文件或者数据插入错误'
            return render(request, 'index.html', {"error": error})
        
    return render(request,'index.html')

使用django的APP在前端上传excel通过post传给后端读取并打印
可以看到后台成功接收到了文件,并且打印出来了
状态码200也表示成功传输了。

因此,路由配置一定要注意!!!尤其是在APP中别忘记APP那层,同时最后多了/也是不行的,文章来源地址https://www.toymoban.com/news/detail-495496.html

到了这里,关于使用django的APP在前端上传excel通过post传给后端读取并打印的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包