如何在 django 模板中放置链接

Elc*_*_91 3 python 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)
Run Code Online (Sandbox Code Playgroud)

应用程序网址.py:

from django.urls import path   
from . import views

urlpatterns = [
    path('', views.index, name="index"),
    path('', views.terms, name="terms")
]
Run Code Online (Sandbox Code Playgroud)

index.html 中的违规代码:

By signing in, you agree to our <a href="/login/terms.html">Terms Of Use Policy</a>
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*sem 5

views.index第一个问题是和的路径views.terms共享相同的路径。结果,你变得views.terms无法访问。

因此,您应该更改路径之一,例如:

from django.urls import path   
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('terms/', views.terms, name='terms')
]
Run Code Online (Sandbox Code Playgroud)

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

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

By signing in, you agree to our <a href="{% url 'terms' %}">Terms Of Use Policy</a>
Run Code Online (Sandbox Code Playgroud)