Django中文件上传和文件访问微项目的方法


Posted in Python onApril 27, 2020

Django中上传文件方式。

如何实现文件上传功能?

1创建项目uploadfile:

Django中文件上传和文件访问微项目的方法

创建app:front
项目设置INSTALLED_APPS中添加'front'

INSTALLED_APPS = [
 '''
 'front'
]

#后面添加MEDIA_ROOT和MEDIA_URL

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'

2.models,views都写用front文件夹里面。

modes.py创建代码。

class Article(models.Model):
 '''创建个文章表格,测试上传文件'''
 title = models.CharField(max_length=100,unique=True)
 content = models.CharField(max_length=100)
 articlefile = models.FileField(upload_to='%Y/%m/%d',unique=True)
 #这里upload_to='%Y/%m/%d'可以先不设置,设置的目的是上传文件保存在media目录下时,自动创建以时间为标记文件层次文件夹目录

使用命令

makemigrations,和migrates进行迁移

打开db.sqlite3可以看到迁移成功后的数据表front_article

Django中文件上传和文件访问微项目的方法

数据库中有article表,说明迁移成功。

3.写视图

from django.shortcuts import render,HttpResponse
from django.views.generic import View
from .models import Article
# Create your views here.

class UploadFile(View):
 def get(self,request):
  contents = Article.objects.all()
  return render(request,'index.html',locals())

 def post(self,request):
  title = request.POST.get('title')
  content = request.POST.get('content')
  file = request.FILES.get('myfile')
  Article.objects.create(title=title,content=content,articlefile=file)
  return HttpResponse("成功")

这里使用类视图

4创建index模板。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
{% for content in contents %}
 <li>标题:{{ content.title }}</li>
 <li>内容:{{ content.content }}</li>
 <a href="{% url 'index' %}media/{{ content.articlefile }}" rel="external nofollow" ><li>{{ content.articlefile }}</li></a>
{% endfor %}
{#for循环主要显示数据图中数据。有标题,有内容和文件链接#}

<form action="" method="post" enctype="multipart/form-data" >
 <input type="text" name="title" >
 <input type="text" name="content">
 <input type="file" name="myfile" >
 <input type="submit" value="提交">
</form>
</body>
</html>

显示效果如下:

Django中文件上传和文件访问微项目的方法

5关键性一步

urls.py

from django.urls import path
from front import views
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
 path('',views.UploadFile.as_view(),name='index'),
]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

使用static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)可以直接访问文件。非常方便。

到此这篇关于Django中文件上传和文件访问微项目的方法的文章就介绍到这了,更多相关django上传文件和文件访问微项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
利用python实现xml与数据库读取转换的方法
Jun 17 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
Python编程深度学习计算库之numpy
Dec 28 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
Dec 11 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
详解Python中namedtuple的使用
Apr 27 #Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 #Python
使用python实现微信小程序自动签到功能
Apr 27 #Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 #Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 #Python
python logging通过json文件配置的步骤
Apr 27 #Python
Python垃圾回收机制三种实现方法
Apr 27 #Python
You might like
php curl post 时出现的问题解决
2014/01/30 PHP
php输出xml属性的方法
2015/03/19 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
一段批量给页面上的控件赋值js
2010/06/19 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
javascript 实现map集合
2015/04/03 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
应届生妇产科护士求职信
2013/10/27 职场文书
应届毕业生求职信
2013/11/30 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
大学生求职信范文
2014/05/24 职场文书
护校行动方案
2014/05/31 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
授权委托书(完整版)
2014/09/10 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
后备干部推荐材料
2014/12/24 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android