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中的二叉树查找算法模块使用指南
Jul 04 Python
python logging类库使用例子
Nov 22 Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 Python
python使用psutil模块获取系统状态
Aug 27 Python
python实现二叉查找树实例代码
Feb 08 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
python 实现简单的FTP程序
Dec 27 Python
python主要用于哪些方向
Jul 05 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 Python
Django中template for如何使用方法
Jan 31 Python
如何用 Python 制作一个迷宫游戏
Feb 25 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
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
一个JS翻页效果
2007/07/23 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
Position属性之relative用法
2015/12/14 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Sanic框架路由用法实例分析
2018/07/16 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
python 用 xlwings 库 生成图表的操作方法
2019/12/22 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
python selenium xpath定位操作
2020/09/01 Python
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
幼师自荐信
2013/10/26 职场文书
大学生实习思想汇报
2014/01/12 职场文书
商场消防管理制度
2014/01/12 职场文书
企业宣传方案
2014/03/04 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
企业精神口号
2014/06/11 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
活动新闻稿范文
2015/07/17 职场文书