Django实现后台上传并显示图片功能


Posted in Python onMay 29, 2020

1.安装pillow

pip install Pillow

2.创建app

python manage.py startapp upload

3. project设定

settings.py

INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'upload.apps.MyuploadConfig', #add this
]

TEMPLATES = [
 {
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [os.path.join(BASE_DIR,'templates')],
  'APP_DIRS': True,
  'OPTIONS': {
   'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    'django.template.context_processors.media' #add this
   ],
  },
 },
]

#picture path setting
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("\\", "/")
MEDIA_URL = '/media/'

urls.py

from django.contrib import admin
from django.urls import path,include
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
 path('admin/', admin.site.urls),
 path('', views.index),
 path('upload/', include(('myupload.urls', 'myupload'), namespace='myupload')), # add uppoad urls
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)      #add image path

4. app 设定

models.py

from django.db import models

class User(models.Model):
 name = models.CharField(verbose_name='姓名', max_length=10)
 avator = models.ImageField(verbose_name='头像', upload_to='upload/%Y/%m/%d')

admin.py

from django.contrib import admin
from .models import *

# Register your models here.
admin.site.register(User)

urls.py

from django.contrib import admin
from django.urls import path, register_converter, re_path
from . import views

urlpatterns = [
 path('', views.index, name='index'), # 上传首页
]

views.py

from django.shortcuts import render
from .models import User
from django.http import HttpResponse

# Create your views here.
def index(request):
 users = User.objects.all()return render(request, 'upload/index.html', locals())

5 . 前台设定

project 目录下 templates/upload/index.html

----------------------------------------------------------------------------------------

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<ul>
 {% for user in users%}
  <li>{{ user.name }}</li>
  <li><img src="{{ MEDIA_URL }}{{ user.avator }}" alt=""></li>
 {% endfor %}
</ul>
</body>
</html>

6. migraiton

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage runserver 0.0.0.0:8000

7.进行管理后台上传user 图片http://localhost:8000/admin

8.显示 http://localhost:8000/upload/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
通过python3实现投票功能代码实例
Sep 26 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
python 正则表达式参数替换实例详解
Jan 17 Python
sklearn+python:线性回归案例
Feb 24 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
详解scrapy内置中间件的顺序
Sep 28 Python
基于PyQt5制作一个群发邮件工具
Apr 08 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 #Python
Python基于smtplib模块发送邮件代码实例
May 29 #Python
Django通过json格式收集主机信息
May 29 #Python
Python小白不正确的使用类变量实例
May 29 #Python
python小白切忌乱用表达式
May 29 #Python
Python爬虫实现百度翻译功能过程详解
May 29 #Python
Django中的模型类设计及展示示例详解
May 29 #Python
You might like
discuz Passport 通行证 整合笔记
2008/06/30 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python 加密的实例详解
2017/10/09 Python
python用户管理系统的实例讲解
2017/12/23 Python
python retrying模块的使用方法详解
2019/09/25 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
keras 读取多标签图像数据方式
2020/06/12 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
几个人围成一圈的问题
2013/09/26 面试题
申论倡议书范文
2014/05/13 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
学校志愿者活动总结
2014/06/27 职场文书
工商管理本科生求职信
2014/07/13 职场文书
交通违章检讨书
2014/09/21 职场文书
机动车登记业务委托书
2014/10/08 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
高中化学教学反思
2016/02/22 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
HDFS免重启挂载新磁盘
2022/04/06 Servers