Django_设置静态文件上传文件
Posted wangdianchao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django_设置静态文件上传文件相关的知识,希望对你有一定的参考价值。
1.设置静态文件
第一步:在项目目录下创建static文件夹,用于存放项目的静态文件,可以在该文件夹下面继续创建文件夹,用于静态文件的分类管理。
第二步:在settings.py下面添加以下代码。设置静态文件路径。
STATICFILES_DIRS = ( os.path.join(BASE_DIR, ‘static‘), )
第三步:在模板文件调用静态文件。
{% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片</title> </head> <body> <img src="{% static ‘/media/11.png‘ %}}" alt=""> </body> </html>
2.上传文件
第一步:设置settings.py文件,添加以下代码。
# 设置上传的文件的保存位置。 MEDIA_ROOT = os.path.join(BASE_DIR, ‘static/media/‘)
第二步:设置模板文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上传文件</title> </head> <body> {#设置表单提交的路径,post方法,上传文件必须设置enctype="multipart/form-data"#} <form action="/app01/succeed/" method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="file" name="pic1"> <input type="submit" value="上传"> </form> </body> </html>
第三步:视图模块接收文件
from django.shortcuts import render, HttpResponse import os from django.conf import settings # Create your views here. def upload(request): return render(request, ‘index.html‘) def succeed(request): pic = request.FILES.get("pic1", None) # 用FILES方法接收文件 if not pic: return HttpResponse(‘没有上传的文件!‘) pic_name = os.path.join(settings.MEDIA_ROOT, pic.name) #将设置的上传文件保存位置路径和文件名拼接起来。获取文件保存的完整路径 test_path = pic_name.replace(‘/‘, ‘\‘) # 由于是在windows系统下,将文件路径中的“/”转换为“”。 with open(test_path, ‘wb+‘) as wdc: for i in pic.chunks(): # 分块写入文件 wdc.write(i) return render(request, ‘img.html‘, locals())
以上是关于Django_设置静态文件上传文件的主要内容,如果未能解决你的问题,请参考以下文章
Django 项目设置 Debug=False 后静态文件和上传文件404错误问题解决
Django中辅助技术总结[静态文件,中间件,上传图片,分页案例]