【问题标题】:No User matches the given query. Page Not found 404?没有用户匹配给定的查询。页面未找到 404?
【发布时间】:2019-12-23 14:37:45
【问题描述】:

在我的博客网站中,我想在单击其中一个链接时打开另一个用户的个人资料。但它一直显示 404 错误,说没有用户匹配给定的查询。

这是base.html 中的链接

<a href="{% url 'blogapp:userprofile' username=view.kwargs.username %}">{{ view.kwargs.username }}</a>

这是我的 urls.py 函数模式-

path('userprofile/<str:username>/',views.userprofile,name='userprofile'),

这是我的函数views.py

@login_required
def userprofile(request,username):
    user = get_object_or_404(User,username='username')

    return render(request,'blogapp/userprofile.html',{'user':user})

这是我的模板文件

{% extends 'blogapp/base.html' %}

{% block content %}

          <div class="row">
            <img  src="{{ user.profile.image.url }}">
          <div class="details">
            <h2>{{ user.username }}</h2>
            <p>{{ user.email }}</p>
          </div>
          </div>
          <p style="margin-top: 10px; margin-left: 138px;">{{ user.profile.description }}</p>
          <hr>


{% endblock %}

{{ view.kwargs.username }} 给出了我搜索的完美用户名。但问题出在用户配置文件视图的某个地方。它去了完美的路线http://127.0.0.1:8000/userprofile/username/,但它仍然显示404错误。

【问题讨论】:

    标签: django django-templates django-views django-urls


    【解决方案1】:
    @login_required
    def userprofile(request,username):
        user = get_object_or_404(User,username='username')
    
        return render(request,'blogapp/userprofile.html',{'user':user})
    

    应该是这样的

    @login_required
    def userprofile(request,username):
        user = get_object_or_404(User,username=username)
    
        return render(request,'blogapp/userprofile.html',{'user':user})
    

    第 2 行的用户名被视为字符串而不是变量。

    【讨论】:

      【解决方案2】:

      在您看来,您将username 作为字符串传递,而它应该是在userprofile 函数内部传递的变量。

      @login_required
      def userprofile(request,username):
          user = get_object_or_404(User,username=username)
      
          return render(request,'blogapp/userprofile.html',{'user':user})
      

      【讨论】:

        猜你喜欢
        • 2018-09-22
        • 2016-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-13
        • 2021-09-18
        • 2018-07-04
        • 2021-05-07
        相关资源
        最近更新 更多