Атрибут 'user_image' не имеет связанного с ним файла | Django

ОБЪЯСНЕНИЕ КОДА

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

Если пользователь не загрузил изображение, то отображается изображение по умолчанию, которое можно увидеть ниже в коде.

Но он показывает ошибку, если пользователь не загрузил изображение, и работает нормально, если пользователь загрузил изображение.

КОД

dashboard.html

{% if values.user_image.url %}
   <a class="image" href="{% url 'setting' %}"><img src="{{ values.user_image.url }}" alt=""></a>
{% else %}
   <a class="image" href="{% url 'setting' %}"><img src="{% static 'img/user.png' %}" alt=""></a>
{% endif %}

views.py

@login_required(login_url = "login")
def user_home(request):
    if request.method == "GET":

        record = User.objects.get(email=request.user)
        wallet = Wallet.objects.get(user_id=request.user)
        walletbalance = wallet.wallet_balance

        context = {
            'walletbalance': walletbalance,
            'values': record,
        }

        return render(request, "userdashboard/index.html", context)

ОШИБКА

ValueError at /user/setting
The 'user_image' attribute has no file associated with it.
Request Method: GET
Request URL:    http://127.0.0.1:8000/user/setting
Django Version: 3.2.6
Exception Type: ValueError
Exception Value:    
The 'user_image' attribute has no file associated with it.
Exception Location: C:\Users\Qasim Iftikhar\anaconda3\lib\site-packages\django\db\models\fields\files.py, line 40, in _require_file
Python Executable:  C:\Users\Qasim Iftikhar\anaconda3\python.exe
Python Version: 3.8.5
Python Path:    
['C:\\xampp\\htdocs\\Projects\\Barter',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\python38.zip',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\DLLs',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\lib',
 'C:\\Users\\Qasim Iftikhar\\anaconda3',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\lib\\site-packages',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\lib\\site-packages\\win32',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\lib\\site-packages\\win32\\lib',
 'C:\\Users\\Qasim Iftikhar\\anaconda3\\lib\\site-packages\\Pythonwin']
Server time:    Sat, 25 Sep 2021 14:38:10 +0000

Вы должны проверить истинность values.user_image, а не values.user_image.url, поскольку если файл не ассоциирован с ним, то атрибут .urls не существует:

<a class="image" href="{% url 'setting' %}"><img src="{% if values.user_image %}{{ values.user_image.url }}{% else %}{% static 'img/user.png' %}{% endif %}" alt=""></a>
Вернуться на верх