天天看點

讓xadmin背景顯示上傳的圖檔讓xadmin背景顯示上傳的圖檔

讓xadmin背景顯示上傳的圖檔

開發環境,python3.6 Django1.9 記得安裝Pillow 圖像庫

#models.py 網站輪播圖

class web_banner(models.Model):
    Title = models.CharField(max_length=100, null=False, verbose_name='标題')
    Image = models.ImageField(max_length=200, upload_to='image/banner/%Y/%m', default='image/banner.png', verbose_name='輪播圖檔')
    Url = models.URLField(max_length=200, null=True, verbose_name='通路位址')
    Index = models.IntegerField(default=100, verbose_name='順序')
    AddTime = models.DateTimeField(default=datetime.now, verbose_name='添加時間')

class Meta:
    db_table = 'web_banner'
    verbose_name = '輪播圖'
    verbose_name_plural = verbose_name

def __str__(self):
    return self.Title
           
其中,Image為圖檔類型

settings.py 全局配置檔案

)

# 指定上傳媒體檔案的位置
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'
           
當沒有此檔案夾時,第一次上傳會自動建立

urls.py 全局路由

from django.contrib import admin
from django.conf.urls import url  # 全局路由
import xadmin  # xadmin背景
from .settings import MEDIA_ROOT  # 上傳媒體加載包
from django.views.static import serve  # 上傳媒體加載包
urlpatterns = [
    url('xadmin/', xadmin.site.urls),
    url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),  # 指定上傳媒體位置
]
           

引入

from .settings import MEDIA_ROOT # 上傳媒體加載包

from django.views.static import serve # 上傳媒體加載包

在urlpatterns中加入

url(r’^media/(?P

.*)$’, serve, {“document_root”: MEDIA_ROOT}), # 指定上傳媒體位置

此時,你上傳的圖檔在背景點開及可顯示。