首页 > 其他分享 >Django之文件上传

Django之文件上传

时间:2024-07-01 23:00:36浏览次数:16  
标签:fp 文件 str upload Django myFile file print 上传

前端 

<!DOCTYPE html>
<html>
<body>

<h2>Upload File</h2>
<form action="http://127.0.0.1:5000/upload" method="post" enctype="multipart/form-data">
  Select file to upload:
  <input type="file" name="file" id="file">
  <input type="submit" value="Upload File" name="submit">
</form>

<script>
  // JavaScript 用于处理文件上传
  const form = document.querySelector('form');
  form.addEventListener('submit', (e) => {
    e.preventDefault();
    const file = document.getElementById('file').files[0];
    const formData = new FormData();
    formData.append('file', file);

    fetch('http://127.0.0.1:8080/upload_file/', {
      method: 'POST',
      body: formData
    })
    .then(response => response.text())
    .then(text => alert(text))
    .catch(error => alert('File upload error: ' + error));
  });
</script>

</body>
</html>

后端

URL配置路径

from django.contrib import admin
from django.urls import path
from Myapp.views import *
# from Myapp import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('upload_file/',upload_file),
  

]

 view后端接受逻辑

def upload_file(request):
    random_str = '123'
    myFile = request.FILES.get('file')
    print(myFile)
    file_name = random_str + '.' + str(myFile).split('.')[1]  # 'RESUMES/' +
    print(file_name)
    print(os.getcwd())
    os.chdir('./Myapp/RESUMES')
    print(os.getcwd())
    os.system(r"touch {}".format(random_str + '.' + str(myFile).split('.')[1]))
    fp = open(file_name, 'wb+')
    print(fp)
    for i in myFile.chunks():
        print(i)
        fp.write(i)
    fp.close()
    return HttpResponse('')

标签:fp,文件,str,upload,Django,myFile,file,print,上传
From: https://blog.csdn.net/daxiashangxian/article/details/140087368

相关文章

  • FreeBSD系统设置启动环境变量文件涉及.cshrc、.login_conf等
    问题提出:图形界面英文怎么配成中文?FreeBSD启动后发现有时候进入xfce是中文系统,有时候是英文系统。其实是有两套图形登录系统,因此尝试在那套英文系统里设置环境变量,目标是1显示中文2能输入中文。在解决问题中,尝试设置环境变量。问题解决:设置启动环境变量首先看两套图形登......
  • 6、Django-管理员界面-admin
    概念:Django的admin界面是自动生成的,它根据你的模型类自动创建表单和列表视图。你只需将模型类注册到admin界面,就可以轻松地管理和操作数据库中的数据。admin界面提供了各种功能,包括:列表视图:以表格形式展示数据库中的数据,支持分页、搜索和排序功能,方便快速浏览和筛选数据。表......
  • 5、Django-模型-models
    概念:基本模板:模板其实就是我们使用的HTML写好的页面--先在应用的目录下创建模板文件夹templates、然后在templates中创建模板文件、如html--最后在views.py中去渲染模板、使用render函数将模板返回给用户:returnrender(request,'.html')  定义模板:--模板里就是要对......
  • C#通过HttpWebRequest上传文件(自测通过)
    C#通过HttpWebRequest进行文件上传,自己亲测没问题,如果需要请自取usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Net;usingSystem.Reflection;usingSystem.Text;namespaceConsoleApp1{internalclassProgram......
  • 9、 Django-重定向-Redirect
    导入模块fromdjango.shortcutsimportredirect,reverse 概念:在视图函数中做跳转到其它页面 如:1、views.py---------------------------------------------------------------------------------fromdjango.shortcutsimportrenderfromApp_route.modelsimport*......
  • 8、 Django-路由-router-路由传参
    路由传递参数:通过在路由的后跟/<数据类型:参数>/  将参数传递给指定的视图函数views.py--这个参数可以是变量、而这个变量可以从html中获取 如:models.pyfromdjango.dbimportmodels#传教字段classUserModel(models.Model):name=models.CharField(max_leng......
  • 7、 Django-路由-router-页面跳转
    概念:在实际开发过程中、一个Django项目会包含很多的app、这时候如果我们只在主路由里进行配置就会显得杂乱无章、所以通常在每个app中创建各自的urls.py路由模块、然后从根路由出发、将app所属的url请求、全部转发到相应的urls.py模块而这个从主路由转发到各个应用的路由的过......
  • 10、 Django-模板-templates
     模板语法#模板中的变量语法:{{var}}如果变量不存在、则插入空字符串#方法不能有参数{{int}}{{str}}{{list}}{{list.0}}{{dict}}{{dict.a}}#dict['a']{{func}}#传递函数{{class_......
  • 12、 Django-模型models的基本操作-增删改查
    一般的数据库操作流程:1、创建数据库,设计表结构和字段2、连接Mysq1数据库,并编写数据访问层代码3.业务逻辑层去调用数据访问层执行数据库操作Diango通过Mode1操作数据库,不管你数据库的类型是MySql或者Sqlite,Django自动帮你生成相应数据库类型的SQL语句,所以不需要关注SQL语句......
  • 11、 Django-模型基础-models-ORM框架-管理器对象
     #概述django根据属性的类型确定以下信息当前选择的数据库支持字段的类型渲染管理表单时使用的默认htm1控件在管理站点最低限度的验证django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后则django不会再生成默认的主键列#属性命......