码迷,mamicode.com
首页 > Web开发 > 详细

Django_设置静态文件、上传文件

时间:2020-06-07 14:57:55      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:chunk   保存   submit   local   oct   lang   multi   路径   表单   

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_设置静态文件、上传文件

标签:chunk   保存   submit   local   oct   lang   multi   路径   表单   

原文地址:https://www.cnblogs.com/wangdianchao/p/13060309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!