Django2.0,图片上传

前些天写的后台图片上传图片功能,今天写的时候就遇到问题了,三天不学习,赶不上刘少奇。特此把整个流程梳理记录一下,以便后期使用时方便查看。

1、models.py对应类中添加:

img = models.ImageField(upload_to='img', default='img/default.png')

(备注:如果后台添加上传图片,你的models.py中的类要写对应的admin,要注册)

2、执行数据库的操作命令:

python manage.py makemigrations

python manage.py migrate

3、在settings.py最后添加:

 

# 保存上传的图片目录
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/uploads/'

4、在settings.py的TEMPLATE->OPTIONS->context_processors 中添加:

'django.template.context_processors.media', 

5、在urls.py中添加:

找到urlpatterns  在它的后面(备注:[ ]的后面)添加:

static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

打个样:

 

from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
                  path('admin/', admin.site.urls),
                  path('', MyIndexView.as_view(), name="index"),
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

6、在html中显示:

 

(备注:显示图片的html,要先接受通过views.py传过来的第一步中的类的实例)

 

 

你可能感兴趣的:(Django2.0,图片上传)