diango 2.0 圖片上傳
阿新 • • 發佈:2018-11-16
前些天寫的後臺圖片上傳圖片功能,今天寫的時候就遇到問題了,三天不學習,趕不上劉少奇。特此把整個流程梳理記錄一下,以便後期使用時方便檢視。
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中顯示:
<img src="{{ MEDIA_URL }}{{ object.img }}">(備註:顯示圖片的html,要先接受通過views.py傳過來的第一步中的類的例項)