如何在Django 4中连接图像?

js81xvg6  于 2023-01-06  发布在  Go
关注(0)|答案(1)|浏览(136)

我有一个项目,连接的数据库,一张图片和发送另一张图片的形式。在主页中,我想连接所有来自DB的图片,但我不明白它是如何工作的。请帮助我,因为我尝试所有我在互联网上找到的

settings.py

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

urls.py

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
    path("", views.products),
    path("sell/", views.sell),
    path("created/", views.created),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)
else:
    urlpatterns += staticfiles_urlpatterns()

models.py

from django.db import models

class Product(models.Model):
    ...
    product_media = models.ImageField(upload_to="images", verbose_name="Фотографії товару")

views.py

from django.shortcuts import render
from .forms import SellForm
from .models import Product
from main.settings import MEDIA_URL, MEDIA_ROOT

def products(request):
    product_list = Product.objects.all()
    return render(request, "products.html", {"product_list": product_list, "media_url": MEDIA_URL, "media_root": MEDIA_ROOT})

产品. html

<!DOCTYPE html>
<html lang="uk">
<head>
  <style>
   ...
  </style>
</head>
<body>

<h1>Оголошення </h1><a href="sell/">Створити нове оголошення</a>
{% if product_list %}
<table border="1">
    <tr>
        <th>Id</th>
        <th>Час створення</th>
        <th>Профіль продавця</th>
        <th>Ім'я продавця</th>
        <th>Прізвище продавця</th>
        <th>Телефон продавця</th>
        <th>Електронна пошта продавця</th>
        <th>Назва оголошення</th>
        <th>Опис</th>
        <th>Медіа</th>
    </tr>
    {% for object in product_list %}
    <tr>
        <td>{{ object.id }}</td>
        <td>{{ object.product_dt }}</td>
        <td>{{ object.product_username }}</td>
        <td>{{ object.product_name }}</td>
        <td>{{ object.product_lastname }}</td>
        <td>{{ object.product_phone }}</td>
        <td>{{ object.product_email }}</td>
        <td>{{ object.product_productname }}</td>
        <td>{{ object.product_description }}</td>
        <td><img src="{{object.product_media.url }}" alt="connect" /></td>   <!-- I DONT UNDERSTAND HERE -->
    </tr>
    {% endfor %}
</table>
{% else %}
Таблиця наразі пуста. Заповніть заявку вище.
{% endif %}
</body>
</html>

附注:我是Django的新手,这是我的第一个项目,我用它学习Django,我只想知道如何连接我从sqlite3发送到页面的图像
项目树:

├──application
│  ├──accounts
│  │  ├──__pycache__
│  │  ├──migrations
│  │  │  └──__pycache__
│  │  └──templates
│  ├──main
│  │  └──__pycache__
│  ├──media
│  │  └──images
│  ├──products
│  │  ├──__pycache__
│  │  ├──migrations
│  │  │  └──__pycache__
│  │  └──templates
│  ├──templates
│  │  └──registration
│  └──uploads
xghobddn

xghobddn1#

已解决:

只需在主urls.py和{{ object.product_media.url }}中写入+网址模式

相关问题