首页 > 解决方案 > 如何在 django 模板中放置链接

问题描述

对 Django 非常陌生,我有点困惑。我在我的 html 模板文件中放置了一个链接;但是,单击该链接会报告 404 错误。

应用程序views.py 文件:

from django.shortcuts import render        

def index(request):
    return render(request, "login/index.html", None)

def terms(request):
    return render(request, "login/terms.html", None)

应用程序 urls.py:

from django.urls import path   
from . import views

urlpatterns = [
    path('', views.index, name="index"),
    path('', views.terms, name="terms")
]

index.html 中的违规代码:

By signing in, you agree to our <a href="/login/terms.html">Terms Of Use Policy</a>

单击该链接会弹出 404 错误。当我学习一个新的框架时,任何帮助都将不胜感激。

标签: pythondjango

解决方案


第一个问题是两者的路径views.indexviews.terms共享相同的路径。结果,您变得views.terms无法访问。

因此,您应该更改其中一条路径,例如:

from django.urls import path   
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('terms/', views.terms, name='terms')
]

您最好使用{% url ... %}模板标签 [Django-doc]来解析 URL,因为如果您稍后决定更改某个视图的路径,您仍然可以计算路径。

在您的模板中,您可以这样写:

By signing in, you agree to our <a href="{% url 'terms' %}">Terms Of Use Policy</a>

推荐阅读