В Django на продакшене при добалении позиции в админке выходит ошибка 404
Разработал сайт локально, там всё работает. Но на продакшене через админ-панель при добавлении новой позиции выходит - Page not found (404). Нагуглил, что проблема скорее всего с полями Image, но не нашёл, как пофиксить. Подозреваю, что проблема в путях BASE_DIR и MEDIA_ROOT
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pharmacy.urls')),
path('articles/', include('articles.urls', namespace='articles')),
]
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
В самом приложении:
urlpatterns = [
path('', views.index, name='main'),
path('about', views.about, name='about'),
path('contact', views.contact, name='contact'),
]
Модель:
class Product(models.Model):
title = models.CharField(max_length=200, verbose_name='Название')
description = models.TextField(max_length=2000, verbose_name='Описание', blank=True, null=True)
pic = models.ImageField(verbose_name='Картинка', upload_to='pharmacy/products')
is_published = models.BooleanField(verbose_name='Опубликовано', default=True)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Продукт'
verbose_name_plural = 'Продукты'
settings.py
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
BASE_DIR / "pharmacy/static",
os.path.join(BASE_DIR, 'static'),
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Прикладываю скрин со структурой файлов. Переносил на сервер не я.
Добавлю больше информации: Я получаю следующее сообщение - Request Method: POST Request URL: https://example/admin/pharmacy/review/add/ Raised by: django.contrib.admin.options.add_view