Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django用户对象无法显示_Python_Django_Object - Fatal编程技术网

Python Django用户对象无法显示

Python Django用户对象无法显示,python,django,object,Python,Django,Object,目标是在用户的个人资料页面上显示用户的图像。我收到的当前错误消息是“'Images'对象不可编辑” views.py def view_profile(request, pk=None): if pk: user = User.objects.get(pk=pk) else: user = request.user args = {'user': user, 'images': Images.objects.get(pk=pk)}

目标是在用户的个人资料页面上显示用户的图像。我收到的当前错误消息是“'Images'对象不可编辑”

views.py

def view_profile(request, pk=None):
    if pk:
        user = User.objects.get(pk=pk)

    else:
        user = request.user

    args = {'user': user, 'images': Images.objects.get(pk=pk)}

    return render(request, 've/cp/profile.html', args)
profile.html

    {% if images %}
        {% for img in images %}
        <img src="{{ img.image.url }}" class="float-left" style="max-width: 150px">
        {% endif %}
    {% else %}
{%if图像%}
{%else%}
//其他代码
{%endif%}
由于使用的是
get
,它不返回
queryset
,因此它不可
iterable

如果您使用了
过滤器
,那么
for循环
就会发生

{%if images%}
{%else%}
//其他代码
{%endif%}
由于使用的是
get
,它不返回
queryset
,因此它不可
iterable


如果您使用了
filter
,那么
for循环将发生

而不是传递给上下文单个对象的图像列表,您需要将
get
替换为
filter
,以返回图像queryset。您还需要使用
user\u id
获取所有用户文件,而不是按
id
进行过滤:

args = {'user': user, 'images': Images.objects.filter(user_id=user.id)}

return render(request, 've/cp/profile.html', args)

您需要将
get
替换为
filter
以返回图像queryset,而不是将图像列表传递给上下文单个对象。您还需要使用
user\u id
获取所有用户文件,而不是按
id
进行过滤:

args = {'user': user, 'images': Images.objects.filter(user_id=user.id)}

return render(request, 've/cp/profile.html', args)

啊,非常感谢。我以前也尝试过filter,但括号内的对象肯定总是错误的。我也在尝试其他事情。啊,非常感谢。我以前也尝试过filter,但括号内的对象肯定总是错误的。我也在尝试其他事情。
args = {'user': user, 'images': Images.objects.filter(user_id=user.id)}

return render(request, 've/cp/profile.html', args)