首页 > 解决方案 > 尝试调用网页,但调用时出错

问题描述

这是views.py,当我尝试调用运动命名函数时出现错误

 def index(request):
        ob=Com1.objects.all()
        
        return render(request,'index.html',{'ob':ob})
    
 def sports(request,name):
        cat=Categ.objects.filter(name=name)
        com=Com1.objects.filter(categ_id=cat[0].id)
    
        return render(request,'sports.html',{'com':com})
    

这是主要的 URL。

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index/',views.index,name='index'),
        path('sports/<str:name>',views.sports,name='sports'),
    

我是否缺少要在 Sports.html 中放置或声明的内容

    <li><a href="{%url 'sports'%}">Sports</a></li>

标签: django

解决方案


sports需要一个值name

<li><a href="{%url 'sports' value_for_name %}">Sports</a></li>

wherename_for_value是一个表达式,它将为<str:name>URL 参数提供一个值,否则这个 URL 没有多大意义。定义

如果您想链接到索引视图,请使用:

<li><a href="{%url 'index' %}">Sports</a></li>

如果您使用ForeignKey[Django-doc] from Com1to Categ,您可以使用以下内容进行过滤:

def sports(request,name):
        com=Com1.objects.filter(categ___name=name)
        return render(request,'sports.html',{'com':com})

推荐阅读