首页 > 解决方案 > 使用其 URL 上传图像并在 Django 中的网站前端显示

问题描述

我是 Django 新手,我正在开发一个需要我上传大量图片的网站,因此我的网站的整体大小增加到 500+ MB。我已经使用了 Django Imagefield 并将上传的图像从管理面板存储在我的静态文件夹中,而不是那样,我想使用管理面板中的 URL 上传图像并将该图像显示到我的网站的前端。怎么可能?任何帮助都会非常显着。

我的models.py文件

class Place(models.Model):
    place_title = models.CharField(max_length=255)
    country = models.CharField(max_length=100,default=' ')
    location = models.CharField(max_length=100,default=' ')
    description = RichTextField()
    place_photo = models.ImageField(upload_to='photos/%Y/%m/%d/')
    place_photo_1 = models.ImageField(upload_to='photos/%Y/%m/%d/')
    place_photo_2 = models.ImageField(upload_to='photos/%Y/%m/%d/')
    place_photo_3 = models.ImageField(upload_to='photos/%Y/%m/%d/')
    place_photo_4 = models.ImageField(upload_to='photos/%Y/%m/%d/')
    field_name = models.URLField(max_length=500,default='add photo url')

def __str__(self):
    return self.place_title

我正在使用这些图像在前端显示

  <div class="placebox-overlap-wrapper">
        <div class="overlap-box">
            <div class="overlap-btns-area">
                <div class="car-magnify-gallery">
                    <a href="{{place.place_photo.url}}" class="overlap-btn">
                        <i class="fa fa-expand"></i>
                        <img class="hidden" src="{{place.place_photo.url}}">
                    </a>
                    {% if place.place_photo_1 %}
                    <a href="{{place.place_photo_1.url}}" class="hidden"
                        data-sub-html="<h4>{{place.place_title}}</h4><p>{{place.story1}}</p>">
                        <img class="hidden" src="{{place.place_photo_1.url}}">
                    </a>
                    {% endif %}
                    {% if place.place_photo_2 %}
                    <a href="{{place.place_photo_2.url}}" class="hidden"
                        data-sub-html="<h4>{{place.place_title}}</h4><p>{{place.story2}}</p>">
                        <img class="hidden" src="{{place.place_photo_2.url}}">
                    </a>
                    {% endif %}
                    {% if place.place_photo_3 %}
                    <a href="{{place.place_photo_3.url}}" class="hidden"
                        data-sub-html="<h4>{{place.place_title}}</h4><p>{{place.story3}}</p>">
                        <img class="hidden" src="{{place.place_photo_3.url}}">
                    </a>
                    {% endif %}
                    {% if place.place_photo_4 %}
                    <a href="{{place.place_photo_4.url}}" class="hidden"
                        data-sub-html="<h4>{{place.place_title}}</h4><p>{{place.story4}}</p>">
                        <img class="hidden" src="{{place.place_photo_4.url}}">
                    </a>
                    {% endif %}
                    {% if place.place_photo_5 %}
                    <a href="{{place.place_photo_5.url}}" class="hidden"
                        data-sub-html="<h4>{{place.place_title}}</h4><p>{{place.story5}}</p>">
                        <img class="hidden" src="{{place.place_photo_5.url}}">
                    </a>
                    {% endif %}
                </div>
            </div>
        </div>
    </div>

这是我的观点.py

def place(request):
  places = Place.objects.order_by('-added_date')
  paginator = Paginator(places,9)
  page = request.GET.get('page')
  paged_places = paginator.get_page(page)
  country_search = Place.objects.values_list('country',flat=True).distinct()
  location_search = Place.objects.values_list('location',flat=True).distinct()
  architecture_search = Place.objects.values_list('architecture',flat=True).distinct()
  data = {
      'places': paged_places,
      'country_search':country_search,
      'location_search': location_search,
      'architecture_search': architecture_search,
  }
  return render(request,'place/place.html',data)

而不是这个,我想使用上传到我的谷歌驱动器的那些图像的 URL,并且需要将它们显示给我的前端。

标签: pythonhtmldjangodjango-models

解决方案


推荐阅读