簡體   English   中英

如何連接Django 4中的圖片?

[英]How to connect image in Django 4?

我有一個項目、連接的數據庫、一張圖片和用於發送另一張圖片的表格。 在主頁上,我想連接來自 DB 的所有圖片,但我不明白它是如何工作的。請幫助我,因為我嘗試了我在 inte.net 中找到的所有內容

設置.py

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

網址.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()

模型.py

from django.db import models

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

視圖.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>

PS:我是 Django 的新手,這是我的第一個項目,我用它學習 Django 並且只想知道如何連接我從 sqlite3 發送到頁面的圖像

項目樹:

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

解決了:

只需要在主 urls.py 和 {{ object.product_media.url }} 中寫入 + urlpatterns

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM