当前位置: 首页 > news >正文

网站做描本好处天津快速关键词排名

网站做描本好处,天津快速关键词排名,百度域名的书写,b2c网站的功能方式1:数据库存放图片地址,图片存放在Django项目文件中 1.首先,我们现在models.py文件中定义模型来存放该图片数据,前端传来的数据都会存放在Django项目文件里的images文件夹下 from django.db import modelsclass Image(models.Model):title models.C…

方式1:数据库存放图片地址,图片存放在Django项目文件中

        1.首先,我们现在models.py文件中定义模型来存放该图片数据,前端传来的数据都会存放在Django项目文件里的images文件夹下

from django.db import modelsclass Image(models.Model):title = models.CharField(max_length=100)image = models.ImageField(upload_to='images/')uploaded_at = models.DateTimeField(auto_now_add=True)def __str__(self):return self.title

        2.下一步,在settings.py文件里配置媒体文件上传

import osMEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

        3.在forms.py文件中创建表单

from django import forms
from .models import Imageclass ImageForm(forms.ModelForm):class Meta:model = Imagefields = ['title', 'image']

        4.在视图文件里增加两个函数,一个是用来前端给后端传图片流数据,后端进行处理;另一个是后端从数据库中调出图片返还给前端

from django.shortcuts import render, redirect
from .forms import ImageForm
from .models import Imagedef upload_image(request):if request.method == 'POST':form = ImageForm(request.POST, request.FILES)if form.is_valid():form.save()return redirect('image_list')else:form = ImageForm()return render(request, 'upload_image.html', {'form': form})def image_list(request):images = Image.objects.all()return render(request, 'image_list.html', {'images': images})

        5.前端upload_image.html文件。这里为了体现出主要功能,所以写的有些简陋。

<!DOCTYPE html>
<html>
<head><title>上传图片</title>
</head>
<body><h1>图片上传</h1><form method="post" enctype="multipart/form-data">{% csrf_token %}{{ form.as_p }}<button type="submit">确认上传</button></form>
</body>
</html>

        6.前端image_list.html文件.

<!DOCTYPE html>
<html>
<head><title>图片展示</title>
</head>
<body><h1>图片列表</h1><ul>{% for image in images %}<li><h2>{{ image.title }}</h2><img src="{{ image.image.url }}" alt="{{ image.title }}" style="width: 200px; height: auto;"></li>{% endfor %}</ul>
</body>
</html>

        7.在urls.py文件中完成相关配置

from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
from .views import upload_image, image_listurlpatterns = [path('upload/', upload_image, name='upload_image'),path('images/', image_list, name='image_list'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

        8.最后一步,基础操作,完成创建和应用数据库迁移,运行查看结果

python manage.py makemigrations
python manage.py migratepython manage.py runserver

方式1流程及效果展示

        前后端完整过程为:前端填写图片标题等信息,之后选择图片并传给后端,后端把前端传过来的图片保存在当前项目文件中,并在数据库中存放图片的位置。前端想要查看图片,后端先从数据库中调出图片的位置信息,之后把位置信息传给前端,前端src展示出图片

前端选择并上传图片

后端返还图片

数据库中存放的数据

Django项目文件结构

方式2:数据库直接存放base64转码后的数据,随调随用

        1.编写模型,同上

class Base64Image(models.Model):title = models.CharField(max_length=100)image_data = models.TextField()  # 用于存储base64编码的图片数据def __str__(self):return self.title

        2.编写表单

class Base64ImageForm(forms.Form):title = forms.CharField(max_length=100)image = forms.ImageField()

3.编写视图(在views.imageBase64.py中编写)

import base64
from django.shortcuts import render, redirect
from app01.forms import Base64ImageForm
from app01.models import Base64Imagedef upload_base64_image(request):if request.method == 'POST':form = Base64ImageForm(request.POST, request.FILES)if form.is_valid():title = form.cleaned_data['title']image = form.cleaned_data['image']image_data = base64.b64encode(image.read()).decode('utf-8')Base64Image.objects.create(title=title, image_data=image_data)return redirect('image_list')else:form = Base64ImageForm()return render(request, 'upload_base64_image.html', {'form': form})def image_list(request):images = Base64Image.objects.all()return render(request, 'image_list.html', {'images': images})

4.前端代码,upload_base64_image.html

<!DOCTYPE html>
<html>
<head><title>上传Base64图片</title>
</head>
<body><h2>测试上传</h2><form method="post" enctype="multipart/form-data">{% csrf_token %}{{ form.as_p }}<button type="submit">上传</button></form>
</body>
</html>

5.前端代码,image_list.html

<!DOCTYPE html>
<html>
<head><title>base64图片张氏</title>
</head>
<body><h2>图片列表</h2><ul>{% for image in images %}<li><h3>{{ image.title }}</h3><img src="data:image/jpeg;base64,{{ image.image_data }}" alt="{{ image.title }}"></li>{% endfor %}</ul>
</body>
</html>

6.url文件中配置相关路径,同上省略

方式2效果展示

1.前端上传图片

2.前端接收base64图片

数据库中图片数据展示

http://www.ritt.cn/news/23098.html

相关文章:

  • 性价比高的做网站公司关键词查询神器
  • 杭州协会网站建设软件制作
  • java做的网站怎么设置关闭和开启网站访问锦州网站seo
  • 肇庆市建设企业网站怎么样成都高端企业网站建设
  • 公司建网站 内部邮箱链接搜索
  • 哈尔滨制作网站多少钱希爱力双效片骗局
  • 高端定制外贸网站惠州seo收费
  • 做棋牌网站建设哪家好百度识图网页版 在线
  • 成立软件公司百度关键词seo优化
  • 网站推广策划案哪里有免费b站推广网站详情
  • 营销网站建设教程律师推广网站排名
  • 怎么健免费网站吗百度客服中心人工在线咨询
  • 网站建设公司还真有赚钱的seo人员招聘
  • 南宁做网站外包优化网站排名的方法
  • 网站建设公司如何提供客户服务百度联盟
  • 网站建设前期准备方案app怎么开发出来的
  • 怎么用网站做类似微博百度快速收录方法
  • 阜宁网站制作服务商搜索引擎营销的特点包括
  • 个人做同城网站赚钱吗seo推广公司教程
  • 一元云购网站开发网络整合营销方案ppt
  • 温州专业建站网络游戏推广怎么做
  • 建湖做网站的价格网页开发公司
  • 网站建设加优化找竞价托管公司
  • 个人网站备案做商城河南网站排名
  • 网站二次开发品牌营销包括哪些方面
  • 怀化网络推广网站排名优化服务公司
  • java做网站开发书哈尔滨优化网站公司
  • php网站怎么做静态化网站百度收录批量查询
  • net网站开发net网站开发手机seo百度点击软件
  • 手机网站开发点击bug百度热搜广告设计公司