zoukankan      html  css  js  c++  java
  • django实现图片上传和显示

    首先安装pillow模块

    在models.py下设置

    class Notices(models.Model):
    NoticeCategory=models.CharField(max_length=10,default='') #新闻分类
    NoticeImagePath=models.ImageField(upload_to='img')

    这里的upload_to是指将图片存放在哪个位置

    在views.py中设置获取图片的方法

    def index(request):
        Notice_list = Notices.objects.all().order_by('NoticeData')[:10]
        return render(request, 'index.html', {'Notice_list': Notice_list})
    

      我这里是获取整个notices列表。

    在setting中设置:

    MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\', '/')     #设置静态文件路径为主目录下的media文件夹
    MEDIA_URL = '/media/'
    

    在上传图片时会自动生成media这个文件夹 

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]
            ,
            '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',#新增加的一行
                ],
            },
        },
    ]
    

      在urls中添加

    urlpatterns = [
        url('admin/', admin.site.urls),
        url(r'^std_web/', include('std_web.urls', namespace='std_web')),
    ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

     在index.html中

    <a href="{{Notice_list.NoticeImagePath.url}}"><img src="{{Notice_list.NoticeImagePath.url}}"></img></a>

      具体显示图片代码。

  • 相关阅读:
    CentOS7源码安装 mplayer-1.1
    CentOS6开关机日志查询
    Redis GUI客户端
    CST & UTC时间差
    FreeBSD10.0 PXE安装
    PostgreSQL9.6源码安装
    phpPgAdmin-5.1安装配置
    js截取文件名不带后缀
    在MongoDB中修改数据类型
    win10怎么修改DNS
  • 原文地址:https://www.cnblogs.com/1998lu/p/9291674.html
Copyright © 2011-2022 走看看