• 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())
  • 相关阅读:
    Windows Server 2003 NLB负载均衡(集群)配置详解
    SQL Server 数据库中关于死锁的分析
    SQL Server 性能调优(一)——从等待状态判断系统资源瓶颈
    RSync实现文件备份同步
    C# 中的委托和事件
    图解用WAS对Web服务器进行压力测试(was下载)
    Windows 之间用rsync同步数据(cwRsyncServer配置)
    SQLServer2005在复制功能中创建发布订阅
    【总结】C# 线程同步技术(一)之 Join 方法
    也来说说C#异步委托
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/13060309.html
Copyright © 2020-2023  润新知