首页 > 编程 > Python > 正文

django 实现将本地图片存入数据库,并能显示在web上的示例

2019-11-25 12:04:46
字体:
来源:转载
供稿:网友

1. 将图片存入数据库

关于数据库基本操作的学习,请参见这一篇文章:https://www.VeVB.COm/article/167141.htm

这里我默认,您已经会了基本操作,能在数据库中存图片了,然后,也会用图形界面操作数据库中的数据了

2.这里,我先给出我的代码,能少走些弯路就少走些

a) 项目的urls.py

from django.contrib import adminfrom django.urls import pathfrom django.conf import settingsfrom django.conf.urls.static import staticurlpatterns = [  path('admin/', admin.site.urls),]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

+号后面的一定要写,如果想出来结果的话!否则回报一个 404 的错误

- b) 应用里的models.py

from django.db import models# Create your models here.class Person(models.Model):  name = models.CharField(max_length=30)  age = models.IntegerField()  def __unicode__(self):  # 在Python3中使用 def __str__(self):    return self.nameclass IMG(models.Model):  img = models.ImageField(upload_to='img')  name = models.CharField(max_length=20)  def __str__(self):  # 在Python3中使用 def __str__(self):    return self.name  

之后,你要会把IMG这个模式推送到数据库。

python ./manage.py makemigrationspython ./manage.py migrate  

c) 应用的views.py

# Create your views here.def hello(request):  IMG.objects.filter(name='bg')  img = IMG.objects.all()  return render(request, 'Welcome.html',{'img':img})

把img这个参数传过去,传到Welcome.html

- d) Welcome.html

<!DOCTYPE HTML><html><head>  <title> welcome </title></head><body >    {% for i in img %}    <img src="{{MEDIA_URL}}{{i.img}}">    {% endfor %}</body> </html>

e) 设置setting.py

TEMPLATES = [  {    'BACKEND': 'django.template.backends.django.DjangoTemplates',    'DIRS': [],    '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',      ],    },  },]MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

注意,东西都是配套使用的,如果e中的路径要变的话,a总的+号后面的也要跟着变化

3. 在http://127.0.0.1:8000/admin/网址上面,上传你的图片

以上这篇django 实现将本地图片存入数据库,并能显示在web上的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表