对于Django非常新,我有些困惑。我已经在我的html模板文件中放置了一个链接;但是,单击链接将报告404错误。
App 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错误。当我学习一个新的框架时,任何帮助将不胜感激。
答案 0 :(得分:3)
第一个问题是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')
]
最好使用{% url ... %}
template tag [Django-doc]来解析URL,因为如果以后决定更改某个视图的路径,您仍然可以计算路径。
在模板中,您这样写:
By signing in, you agree to our <a href="{% url 'terms' %}">Terms Of Use Policy</a>
答案 1 :(得分:1)
urlpatterns = [
path('', views.index, name="index"),
path('terms/', views.terms, name="terms")
]
By signing in, you agree to our <a href="{% url 'terms' %}">Terms Of Use Policy</a>
or