1. 程式人生 > >django將圖片上傳資料庫後在前端顯式

django將圖片上傳資料庫後在前端顯式

1、使用ImageField先安裝pillow模組

pip install pillow

2、在app的models中設定

class Image(models.Model):
        pic_name=models.CharField('圖片',max_length=40)
        pic_path=models.ImageField(upload_to="pic_folder/",default='pic_folder/None/no_image.pig')

3、在app的view中設定獲取圖片的方法

def upload_pic(request):
        pic=Image.objects.all()
        return
render(request,'blog/image.html',{'pic':pic})

4、在settings中設定

1、新增media模板
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(os.path.dirname(__file__), 'templates'),os.path.join(os.path.dirname(__file__), 'static'), ],

        'APP_DIRS'
: True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages'
, 'django.template.context_processors.media', ], }, }, ] 2、設定media的路徑 MEDIA_URL='media/' MEDIA_ROOT=os.path.join(BASE_DIR,'media').replace('\\','/')

5、在app的urls中設定

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

    urlpatterns = [
        url(r'^pic$', views.upload_pic, name='upload_pic')
    ]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

通過admin登入後上傳圖片,會在站點下生成media/pic_folder的目錄