Django图片上传和前端展示
2024-08-30 21:36:16
1 - 模型
class Book(models.Model):
#定义图书模型
book_name = models.CharField(max_length=100,verbose_name='书名')
book_author = models.CharField(max_length=100,verbose_name='作者')
book_total_num = models.IntegerField(default=0,verbose_name='总册数')
book_available_num = models.PositiveIntegerField(default=0,verbose_name='可借册数')
book_img = models.ImageField(upload_to='picture/',verbose_name='封面图',null=True) class Meta:
verbose_name = '书籍'
verbose_name_plural = verbose_name
# upload_to是上传图片的路径
# 配置好后,后台就可以上传图片了
2 - settings配置
MEDIA_ROOT = os.path.join(BASE_DIR,'media') # 这是上传图片的根目录,会拼接模型中的upload_to对应的内容,最终上传的文件路径是:media/picture MEDIA_URL = '/media/' # 这是访问图片的根路径---------> book_img.url是图片的路径,可以直接在模板中使用,但是此时还是无法访问到图片
3 - 前台访问图片
要访问图片,需要配置urls
from django.urls import re_path
from django.views.static import serve
from demoProject import settings urlpatterns = [
re_path(r'media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT}),
]
# 此时,前台就可以访问到图片了
最新文章
- jQ1.5中的事件系统(低版本的事件系统)
- DOS和UNIX文本文件之间相互转换的方法
- 谈谈Parser --王垠
- 【足迹C++primer】表达式求值
- Foundation NSMutableArray遍历,选取出符合条件的所有对象
- Eclipse Maven构建Spring MVC项目
- Spring MVC集成slf4j-logback
- Unity3D Shader Stencil模版测试学习
- CSS代码片段
- $a=[1,2,3,4,5]; $b=[a,b,c,d,e]; 转成[[1,a],[2,b],[3,c],[4,d],[5,3]]
- 02.Control
- export和export default
- POJ3417 Network(算竞进阶习题)
- 安装lrzsz 实现windows与linux之间文件互传
- ssm 整合 redis(进阶教程)
- react ES5 与ES6的写法
- smarty详细使用教程(韩顺平smarty模板技术笔记)
- Java基础-配置开发环境-安装JDK
- OK335xS U-boot GPIO control hacking
- SpringBoot入门 (二) 属性文件读取