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 的描述符 descriptor详解
Feb 27 Python
pycharm远程调试openstack代码
Nov 21 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
python解析多层json操作示例
Dec 30 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
Mar 12 Python
pytorch 中autograd.grad()函数的用法说明
May 12 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
拖拉表格的JS函数
2008/11/20 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
基于hashlib模块--加密(详解)
2017/06/21 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
tensorflow 环境变量设置方式
2020/02/06 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
物业保安员岗位职责制度
2014/01/30 职场文书
保护动物的标语
2014/06/11 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
Go gorilla/sessions库安装使用
2022/08/14 Golang
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL