操作步骤
- 安装Pillow库
- 创建app
- settings.py加载app
安装Pillow库
python3 pip3 install pillow
创建app
命令行创建
python3 manage.py startapp photo
建立项目与数据库之间的联系
python3 manage.py makemigrations
python3 manage.py migrate
修改settings.py文件
文件中最后加入
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') # media即为图片上传的根路径
MEDIA_URL = '/media/'
编写上传视图
修改views.py文件
def uploadImg(request): # 图片上传函数
if request.method == 'POST':
img = Img(img_url=request.FILES.get('img'))
img.save()
return render(request, 'imgupload.html')
编写映射
在urls.py文件中添加url映射路径
from imgTest.views import uploadImg # 添加
urlpatterns = [
path('admin/', admin.site.urls),
path('uploadImg/', uploadImg), # 新增
]
编写上传页面
在所建app的目录新建文件夹templates,并创建imgUpload.html添加以下内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片上传</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="img">
<input type="submit" value="上传">
</form>
</body>
</html>
启动django服务器,在浏览器中输入http://localhost:8000/uploadImg/就可以看到上传的界面。
编写显示视图
修改views.py文件
def showImg(request):
imgs = Img.objects.all() # 从数据库中取出所有的图片路径
context = {
'imgs' : imgs
}
return render(request, 'showImg.html', context)
修改映射
修改urls.py添加映射并加载图片静态路径
from django.contrib import admin
from django.urls import path
from imgTest.views import uploadImg, showImg
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('uploadImg/', uploadImg),
path('showImg/', showImg)
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
编写显示页面
新建图片显示模板文件showImg.html,并添加以下内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片展示</title>
</head>
<body>
{% for item in imgs %}
<img src="{{ item.img_url.url }}"><br/>
{% endfor %}
</body>
</html>
重启django服务器并在浏览器中输入http://localhost:8000/showImg/即可看到上传的所有图片
网友评论