Запретить людям видеть фотографии профиля других пользователей

Я создал поле, позволяющее пользователю загружать изображение профиля. В шаблоне я проверяю, вошел ли пользователь в систему и есть ли у него изображение профиля, в противном случае я показываю общее изображение. Как сделать так, чтобы никто не смог угадать имя другого файла, чтобы увидеть изображение профиля другого пользователя?

{% if user.is_authenticated and user.profile.image %}
<span class="avatar avatar-sm" style="background-image: url({{ user.profile.image.url }})"></span>
{% else %}
<span class="avatar avatar-sm" style="background-image: url('/media/profile_pics/default.png)')"></span>
{% endif %}

Здесь я создал фрагмент кода

В основном я занимался тремя делами

1 - Authorised User
2 - Unauthorised User
3 - Authorised User but not uploaded a profile pic

Html код

{% block body %}
     <h3>User is Authenticated or Not = {{user.is_authenticated}}</h3>
     <hr>     
     
     {% for i in data %}
     <div style="border: 1px solid black; height: 120px; width: 120px; text-align: center; "> 
          {% if user.is_authenticated and i.photo %}
          <div >
               <img height="80px" src="{{i.photo.url}}" alt="">
               
          </div>
          {% else %}
          <div >
               <img height="80px" src="{% static 'images/1.png' %}" alt="">
          </div>
          {% endif %}
          <p>User = {{forloop.counter}}</p>
     </div>
     {% endfor %}
{% endblock body %}

Случай - 1 Вывод для авторизованного пользователя всех загруженных изображений

enter image description here

Случай - 2 Выход для неавторизованного пользователя обслуживает общий из статического

enter image description here

Случай - 3 Выход (здесь пользователь вошел в систему, но пользователь-4 не загрузил фотографию профиля, поэтому подается статическое изображение)

enter image description here

Вернуться на верх