【问题标题】:Django error with the html links TypeError at / 'set' object is not reversible带有 html 链接的 Django 错误 TypeError at / 'set' object is not reversible
【发布时间】:2020-12-08 15:34:21
【问题描述】:

我现在正在学习 Django,并且我已经开始了 html 集成,所以我已经将所有静态页面放入一个应用程序中,一切正常,所以我有 3 页主页/注册/登录,我试图链接所有页面其他人所以这就是我所做的

urls.py

from django.urls import path
from . import views

urlpatterns =[
path('', views.index , name='index'),
path('SignUp', views.SignUp , name='signup'),
path('login', views.login, name='login'),
]

html代码

<div class="container">
                <div class="nav-header">
                    <a href="#" class="js-fh5co-nav-toggle fh5co-nav-toggle"><i></i></a>
                    <h1 id="fh5co-logo"><a href="{% url 'index' %}">My Personal Trainer<span> 
                     App</span></a></h1>
                    <!-- START #fh5co-menu-wrap -->
                    <nav id="fh5co-menu-wrap" role="navigation">
                        <ul class="sf-menu" id="fh5co-primary-menu">
                            <li class="active">
                                <a href="{% url 'index' %}">Home</a>
                            </li>
                            <!-- <li><a href="trainer.html">About Us</a></li> -->
                            <li><a href="{% url 'login' %}">Login</a></li>
                            <li><a href="{% url 'signup' %}">Sign Up</a></li>
                        </ul>
                    </nav>
                </div>
            </div>

views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader

def index(request):
    template = loader.get_template('base/index.html')
    return HttpResponse(template.render(request=request))



 def login(request):
    template= loader.get_template('base/login.html')
    return HttpResponse(template.render(request=request))


def SignUp(request):
    template= loader.get_template('base/signup.html')
    return HttpResponse(template.render(request=request))

主 urls.py

from django.conf import settings
from django.contrib import admin
from django.urls import path, include


urlpatterns = [
 path('admin/', admin.site.urls),
 path('coach/', include('coach.urls')),
 path('store/', include('store.urls')),
 path('', include('base.urls')),

]

当我尝试访问其中一个页面时出现此错误: 类型错误在 / 'set' 对象不可逆 请求方法:GET 请求网址:http://127.0.0.1:8000/ Django 版本:2.2.5 异常类型:TypeError 异常值:
'set' 对象不可逆

error image

感谢您的帮助和关注

【问题讨论】:

  • 能分享一下主网址代码吗?
  • 我已在主帖子网址代码中添加
  • 你试过不加 / 吗?我的意思是 127.0.0.1:8000 而已

标签: django templates url backend


【解决方案1】:

您拥有三个应用程序:

 path('coach/', include('coach.urls')),
 path('store/', include('store.urls')),
 path('', include('base.urls')),

请检查这些应用程序中的每一个urls.py 以查看是否不小心放了 { } 而不是 [ ]

【讨论】:

  • 非常感谢,它在商店应用程序上我做了你告诉我的事情,它的工作非常棒
猜你喜欢
  • 2020-06-29
  • 2019-02-13
  • 2013-11-25
  • 2021-08-15
  • 2019-05-06
  • 2019-10-09
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多