Django:将HTML页面链接到视图

3

我知道有其他人提出了同样的问题,我也阅读过。但是在那里提供的解决方案给了我一个奇怪的错误,我希望能够得到任何帮助以理解它。

这是我的home.html文件:

<head>
    <title>Home</title>
</head>
<body>
    <h1>Home Page</h1>
    <!-- <a href="/home/signup">Sign Up</a> -->
    <a href="{% url 'signup' %}">Sign Up</a>
</body>

这是我的views.py文件:

from django.shortcuts import render

# Create your views here.
def home(request):
    return render(request, "home.html")

def signup(request):
    return render(request, "signup.html")

这是我的 urls.py 文件:

from django.conf.urls import url
from .views import home, signup

urlpatterns = [
    url(r'^signup/', signup, name="signup"),
    url(r'^', home, name="home"),
]

感谢您的所有帮助 :)
编辑: 错误信息为:
Reverse for 'signup' not found. 'signup' is not a valid view function or pattern name.

我实际上改变了如何处理urls.py的方式。现在,我只有一个urls.py文件位于我的主要mysite文件夹中:

from django.conf.urls import url, include
from django.contrib import admin

from home import views
from accounts import views as accountsViews

urlpatterns = [
    url(r'^admin/', admin.site.urls),

    url(r'^home/', views.home),
    url(r'^signup', accountsViews.signup),
]

你说你遇到了一个奇怪的错误 - 是什么错误? - solarissmoke
请发布您的其他网址。 - Mauricio Cortazar
抱歉 @solarissmoke 和 "Mauricio Cortazar",我忘记提到那些内容了。我刚刚添加了一个新编辑。 - ohjuny
1
你发布的第二组URL没有“name”属性,因此URL模板标签无法通过名称找到它们。 - solarissmoke
啊哈,现在它可以工作了!谢谢 :) - ohjuny
1个回答

1
在您的'urls.py'文件中,您的第二个URL没有名称。
URL标签将无法通过名称找到它们 -- '{% url 'signup' %}'

希望这可以帮助到你。 - Jeffrey Chidi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接