Django не может получить правильный url-путь к медиафайлу
У меня проблема, когда я пытаюсь показать изображения медиафайлов из моей базы данных. Django продолжает переименовывать '/media/' в '/dashboard/' в запросах к моим медиа файлам вот модель:`
class PetPhoto(models.Model):
photo = models.ImageField(
upload_to='photos/',
blank=True
)
tagged_pets = models.ManyToManyField(
Pet,
)
description = models.TextField(
null=True,
blank=True,
)
publish_date = models.DateTimeField(
auto_now_add=True,
)
likes = models.IntegerField(
default=0,
)
Here is the view
class CreatePetPhotoView(auth_mixin.LoginRequiredMixin, views.CreateView):
model = PetPhoto
template_name = 'web/photo_create.html'
fields = ('photo', 'description', 'tagged_pets')
success_url = reverse_lazy('dashboard')
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
` Вот settings.py
MEDIA_ROOT = BASE_DIR / 'mediafiles'
MEDIA_URL = '/media/'
Вот файл urls.py
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('petstagram.web.urls')),
path('accounts/', include('petstagram.accounts.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Не специалист по django, но разве в настройках не должно быть что-то вроде этого:
MEDIA_ROOT = f'{BASE_DIR}/mediafiles'
или
MEDIA_ROOT = BASE_DIR + '/mediafiles'