一、上传与展示图片
开始之前要先安装python图像处理库:
pip install --use-wheel Pillow
1、数据库设置
1.1. 先创建一个app,比如叫img_db。
命令行:python manage.py startapp img_db
1.2. 将其加入到settings.py文件中的INSTALLED_APPS中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'img_db',
'corsheaders',
]
1.3. 在models.py中创建表,图片存储使用的是 models.ImageField
例如:
class IMG(models.Model):
img = models.ImageField(upload_to='img')
name = models.CharField(max_length=100)
这里的upload_to是指定图片存储的文件夹名称,上传文件之后会自动创建
1.4. 更新数据库
python manage.py makemigrations
python manage.py migrate
2、修改配置文件setting.py
只需要在最后的静态文件区加上下面两行代码:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') #设置静态文件路径为主目录下的media文件夹
MEDIA_URL = '/media/' #url映射
3、创建模板
3.1. 在APP目录下创建文件夹templates
注意:这是django默认的形式,如果想把模板放在其他路径,得自己重新配置。
3.2. 在templates文件夹下创建文件夹,比如叫img_tem
3.3. 在img_tem下创建模板
uploadimg.html
{% csrf_token %}
上传
showimg.html
{% for img in imgs %}
{% endfor %}
这里img是Django的Model里的一个实例对象,使用img.img.url可以获取他的url,而且在settings.py中已经对其做了静态映射
<