我有一个项目,连接的数据库,一张图片和发送另一张图片的形式。在主页中,我想连接所有来自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
1条答案
按热度按时间xghobddn1#
已解决:
只需在主urls.py和{{ object.product_media.url }}中写入+网址模式