images fix
This commit is contained in:
@@ -6,4 +6,7 @@ from django.conf.urls.static import static
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('api/', include('api.urls')),
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
]
|
||||
|
||||
if settings.DEBUG:
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
18
backend/sitemanagement/migrations/0008_alter_news_slug.py
Normal file
18
backend/sitemanagement/migrations/0008_alter_news_slug.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2.1 on 2025-05-16 08:47
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('sitemanagement', '0007_alter_news_slug_alter_news_titleimage'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='news',
|
||||
name='slug',
|
||||
field=models.SlugField(blank=True, editable=False, max_length=500, null=True),
|
||||
),
|
||||
]
|
||||
@@ -37,19 +37,16 @@ class News(models.Model):
|
||||
return self.title
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk: # Только при первом сохранении
|
||||
super().save(*args, **kwargs) # сохраняем изображение
|
||||
|
||||
# генерируем путь к файлу если удалось его сохранить
|
||||
if self.titleImage:
|
||||
self.filename = os.path.basename(self.titleImage.name)
|
||||
self.path = f'{settings.BASE_URL}{settings.MEDIA_URL}{self.titleImage.name}'
|
||||
super().save(*args, **kwargs) # записываем путь и имя файла в базу
|
||||
else:
|
||||
self.filename = ''
|
||||
self.path = ''
|
||||
super().save(*args, **kwargs) #сохраняем изображение
|
||||
|
||||
# генерируем путь к файлу если удалось его сохранить
|
||||
if self.titleImage:
|
||||
self.filename = os.path.basename(self.titleImage.name)
|
||||
self.path = f'{settings.BASE_URL}{settings.MEDIA_URL}{self.titleImage.name}'
|
||||
super().save(*args, **kwargs) # записываем путь и имя файла в базу
|
||||
else:
|
||||
super().save(*args, **kwargs)
|
||||
self.filename = ''
|
||||
self.path = ''
|
||||
|
||||
@receiver(pre_save, sender=News)
|
||||
def generate_slug(sender, instance, **kwargs):
|
||||
|
||||
@@ -59,7 +59,7 @@ export interface NewsItem {
|
||||
id: number
|
||||
title: string
|
||||
content: string
|
||||
image: string
|
||||
titleImage: string
|
||||
slug: string
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,12 @@ const News: React.FC<NewsProps> = ({ news }) => {
|
||||
<div className="flex flex-col bg-white rounded-2xl shadow-md overflow-hidden hover:shadow-2xl transition-shadow duration-500 p-6">
|
||||
<div className="relative h-[200px]">
|
||||
<Image
|
||||
src={item.image}
|
||||
src={
|
||||
item.titleImage.startsWith('http')
|
||||
? item.titleImage
|
||||
: `http://127.0.0.1:8000${item.titleImage}` ||
|
||||
'/placeholder-image.jpg'
|
||||
}
|
||||
alt={item.title}
|
||||
fill
|
||||
className="object-cover rounded-2xl"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
'use client'
|
||||
import { useState } from 'react'
|
||||
import React, { useState } from 'react'
|
||||
|
||||
interface ShowMoreProps {
|
||||
text?: string
|
||||
|
||||
@@ -10,6 +10,16 @@ const nextConfig: NextConfig = {
|
||||
protocol: 'https',
|
||||
hostname: 'via.placeholder.com',
|
||||
},
|
||||
{
|
||||
protocol: 'http', // для локал девеломпента
|
||||
hostname: '127.0.0.1',
|
||||
port: '8000',
|
||||
pathname: '/media/uploads/**',
|
||||
},
|
||||
{
|
||||
protocol: 'https',
|
||||
hostname: 'tripwb.com',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user