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中常用检测字符串相关函数汇总
Apr 15 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
python模仿网页版微信发送消息功能
Feb 24 Python
详解python while 函数及while和for的区别
Sep 07 Python
python实现日志按天分割
Jul 22 Python
numpy 返回函数的上三角矩阵实例
Nov 25 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
Jupyter notebook如何修改平台字体
May 13 Python
python中怎么表示空值
Jun 19 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
Python同时迭代多个序列的方法
Jul 28 Python
Python办公自动化之Excel(中)
May 24 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输出金字塔的2种实现方法
2014/12/16 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
php银联网页支付实现方法
2015/03/04 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
Javascript中Eval函数的使用说明
2008/10/11 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
Vue组件通信的四种方式汇总
2018/02/08 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
简单介绍Python中的几种数据类型
2016/01/02 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
python安装requests库的实例代码
2019/06/25 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
高中考试作弊检讨书
2014/01/14 职场文书
股份合作协议书范本
2014/04/14 职场文书
见义勇为事迹材料
2014/12/24 职场文书
坎儿井导游词
2015/02/09 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
公司规章制度范本
2015/08/03 职场文书
节水宣传标语口号
2015/12/26 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
mysql主从复制的实现步骤
2021/10/24 MySQL
你知道Java Spring的两种事务吗
2022/03/16 Java/Android