首页 > 其他分享 >django--博客项目 文件上传功能示例

django--博客项目 文件上传功能示例

时间:2022-09-25 15:12:17浏览次数:50  
标签:文件 file views -- 示例 django csrf path 上传

urls.py文件:

1 urlpatterns = [
2     path('admin/', admin.site.urls),
3 
4     path('login/', views.login),
5     path('index/', views.index),
6     path('logout/', views.logout),
7     path('reg/', views.register),
8     path('upload/',views.upload)   #文件上传

views.py文件:

 1 from django.views.decorators.csrf import csrf_exempt    #先导入以后下方调用csrf_exempt
 2 
 3 #文件上传示例
 4 @csrf_exempt  #加上这个装饰器  下面这个视图就不校验csrf
 5 def upload(request):
 6     if request.method == "POST":
 7         file_obj = request.FILES.get("file")  #使用FILES.get 获取文件对象
 8         with open(file_obj.name,"wb") as  f:  # 上传的文件将会展示在根目录下面
 9             for line in file_obj:
10                 f.write(line)
11     return render(request,"upload.html")

upload.html 页面:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>文件上传功能</title>
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7 </head>
 8 <body>
 9 {#上传文件 type为file时,enctype一定要选择#}
10 <form action="/upload/" method="post" enctype="multipart/form-data">
11 {#    每个p标签都要记得写name#}
12 {#    {% csrf_token %}    在views调用csrf_exempt 可以不用写这个#}
13     <p>文件上传:<input type="file" name="file"></p>
14     <p><input type="submit" value="上传"></p>
15 </form>
16 </body>
17 </html>

settings.py文件:

 

标签:文件,file,views,--,示例,django,csrf,path,上传
From: https://www.cnblogs.com/zs0621/p/16727884.html

相关文章

  • 肖sir__ui自动化测试框架__pom框架
    动化测试框架概念:自动化测试框架是一个集成体系,这个体系中包含测试功能的函数、测试数据源、测试对以及重要的模块。作用:用于解决或处理复杂的问题。对于测试人员来说:线性......
  • 三、编程与编程语言
    目录一、编程与编程语言的关系1.什么是编程语言2.什么是编程二、编程语言发展史1.机器语言2.汇编语言3.高级语言三、编程语言分类1.编译型语言(c/c++)2.解释型语言(python)一......
  • html换行的方法
     1、使用<br>1<html>2<body>3<p>4春眠不觉晓,<br/>处处闻啼鸟。<br/>夜来风雨声,<br/>花落知多少。5</p>6</body>7</html> 2、使用<P><P>是空白行,......
  • history 对象
    history对象window对象给我们提供了一个history对象,与浏览器历史记录进行交互。该对象包含用户(在浏览器窗口中)访问过的URL。......
  • Codeforces Round #822
    目录写在前面ABCDEF写在最后写在前面比赛地址:https://codeforces.com/contest/1734。复健后第一场div2,感觉有19年水平了。哈哈。A\(t\)组数据,每组数据给定一长......
  • Web自动化_元素操作+元素信息
    元素操作学习原因需要让脚本模拟用户给指定元素输入值需要让脚本模拟人为删除元素的内容需要让脚本模拟点击操作方法send_keys#输入方法click()#点击方法......
  • Java_笔记总结(二)
    十、继承1、只能单继承:一个子只能一个父2、可以多层继承:爷-父-孙3、关键字:extends (public class dog extends  Animal)4、成员变量访问特点:(1)就近原则......
  • Java学习数组
    ​Java中的数组​ ​一、数组定义格式​1、数组概述:一次性声明大量的用于存储数据的变量,要存储的数据通常都是同类型数据,例如:考试成绩 2、什么是数组:是用于......
  • RCNN
    RCNN(Region-basedConvolutionalNeuralNetworks)是将CNN引入目标检测的开山之作,大大提高了目标检测效果。RCNN算法介绍R-CNN是一种最先进的视觉目标检测系统,它将自底......
  • Invalid bound statement (not found)出现原因和解决方法
    Invalidboundstatement(notfound)出现原因和解决方法前言:想必各位小伙伴在码路上经常会碰到奇奇怪怪的事情,比如出现Invalidboundstatement(notfound),那今天我就......