1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > django实现图片上传和显示

django实现图片上传和显示

时间:2021-05-28 21:35:48

相关推荐

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>

具体显示图片代码。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。