index.html
<img src="{{beat.image.url}}" class="card-img-top" alt="{{beat.name}}">
settings.py
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'beat/media')
models.py
image = models.ImageField(upload_to='images', blank=True)
urls.py
urlpatterns = [
path('', views.index, name='index'),
path('test', views.test, name='test'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
beat.image.url not working
You may have passed queryset in the template. If that's the case, you need to access that with for loop in templates like this:
Please post the views.py so that we can look further to solve the issue.
Edit your urls.py first: