python - 'user_image' 属性没有与之关联的文件 | 姜戈
问题描述
代码说明
在以下代码中,我创建了一个用户仪表板,该仪表板在用户创建帐户后显示。无论用户是否已上传,仪表板上都会显示用户图像。
如果用户尚未上传图片,则会显示默认图片,如下代码所示。
但是如果用户没有上传图片,它会显示错误,如果用户上传了图片,它会正常工作。
代码
仪表板.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 %}
视图.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
您应该检查, not的真实性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>
推荐阅读
- html - 为什么我的 SVG 元素没有出现?(即使在检查我的网页时)
- javascript - 通过方法更改数组的元素?
- java - 部署到 Nexus 存储库时出现 Gradle 错误
- python - (x*w+x1*w1+...xn*wn+b) 如何检查得到的值是否是(x)和(y)的差
- wpf - 无法在位图中捕获 WPF 实时图表
- numpy - 由于形状错误,乘法在 numpy 中失败
- python - Python 记录链接工具包 - Qgrams 错误
- angular - 使用 Karma 为 angular 指令创建单元测试
- pandas - Pandas 使用字典替换值和值列表
- entity-framework - 将分页功能添加到索引 Razor 页面 ASP.NET Core