背景:利用 Form 收集用户提交的信息,包括字符串和文件对象,文件保存在项目的 media 文件夹,因为 static 文件一般是用来存静态文件 css 或者项目所需要的图片,用户上传的文件应该保存在其他文件夹;
1、 启用 media,在项目根目录创建 media 文件夹(与manage.py文件同级)
urls.py 需要新增如下
...
from django.urls import re_path
from django.views.static import serve
from django.conf import settings
urlpatterns = [
re_path(r'^media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT},name='media'),
...
]
settings.py 需要新增如下
MEDIA_ROOT = os.path.join(BASE_DIR,"media")
MEDIA_URL = "/media/"
2、设置好之后在 media 文件夹下放一个图片就能够直接访问了
3、 案例:
用户上传自己的姓名、年龄、头像
上传成功之后:查看数据库
4、案例实现
4.1、models.py 创建一张表
class Boss(models.Model):
name = models.CharField(verbose_name="姓名",max_length=32)
age = models.IntegerField(verbose_name="年龄")
img = models.CharField(verbose_name="头像&#