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实现高效求解素数代码实例
Jun 30 Python
Python机器学习之决策树算法实例详解
Dec 06 Python
Python实现的购物车功能示例
Feb 11 Python
Python获取二维矩阵每列最大值的方法
Apr 03 Python
django反向解析和正向解析的方式
Jun 05 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
Python实现打砖块小游戏代码实例
May 18 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python实现3D地图可视化
Mar 25 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
python 三种方法提取pdf中的图片
Feb 07 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
Python中的rfind()方法使用详解
2015/05/19 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Python GUI编程完整示例
2019/04/04 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Python线程指南分享
2019/11/19 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Python如何用filter函数筛选数据
2020/03/05 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
客户接待方案
2014/02/26 职场文书
浅析Django接口版本控制
2021/06/26 Python