池塘 2020-06-07
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())