VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python3 >
  • python3教程之Django xadmin图片上传与缩略图处理(2)

1
2
3
4
5
6
7
class BannerAdmin(object):
    #显示不要用image,而应该用image_img
    list_display = ['title''image_img''url''index''add_time']
    search_fields = ['title''url''index']
    list_filter = ['title',  'url''index''add_time']
#注册轮播图
xadmin.site.register(Banner, BannerAdmin)
1
2
3
4
5
6
7
8
9
10
11
12
from django.urls import path, re_path
from django.views.static import serve
import xadmin
from Aiword.settings import MEDIA_ROOT
 
urlpatterns = [
    path('xadmin/', xadmin.site.urls),
 
    # 处理图片显示的url,使用Django自带serve,
    # 传入参数告诉它去哪个路径找,我们有配置好的路径MEDIAROOT
    re_path('media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT}),
]
 
效果 图一
 
效果 图二

官方文档说明:

默认情况下,StdImageField 存储图像而不修改文件名。
如果您想使用更一致的文件名,可以使用内置的上传调用
比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from stdimage.utils import UploadToUUID, UploadToClassNameDir, \
UploadToAutoSlug,UploadToAutoSlugClassNameDir
 
 
class MyClass(models.Model):
    title = models.CharField(max_length=50)   
 
    # 文件保存到 MEDIA_ROOT/myclass/#FILENAME#.#EXT#
    image1 = StdImageField(upload_to=UploadToClassNameDir())   
 
    # 文件上传时文件名自定义后保存到 MEDIA_ROOT/myclass/pic.#EXT#
    image2 = StdImageField(upload_to=UploadToClassNameDir(name='pic'))   
 
    # 文件名自动uuid重命名上传到-> MEDIA_ROOT/images/#UUID#.#EXT#
    image3 = StdImageField(upload_to=UploadToUUID(path='images'))   
 
    # 文件根据uuid规则进行文件重命名并上传到 MEDIA_ROOT/myclass/#UUID#.#EXT#
    image4 = StdImageField(upload_to=UploadToClassNameDirUUID())   
 
    # 文件保存到 MEDIA_ROOT/images/#SLUG#.#EXT#
    image5 = StdImageField(upload_to=UploadToAutoSlug(populate_from='title'))   
   
    # 文件保存到 MEDIA_ROOT/myclass/#SLUG#.#EXT#
   image6 =StdImageField(
          upload_to=UploadToAutoSlugClassNameDir(populate_from='title'))
相关教程
        
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号