我正在尝试在Django中构建一个Todo应用。链接到详细信息页面时遇到问题,无法链接到该页面。 这是我的代码。
**todos/index.html:**
{% if todo %}
<ul>
{% for todos in todo %}
<li><a href="{% url 'todos:detail' todo.id %}">{{ todos.text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No Todo list are available.</p>
{% endif %}
view.py:
from django.shortcuts import render
from django.http import HttpResponse
from .models import Todo
# Create your views here.
def index(request):
todo =Todo.objects.all()
context={'todo':todo}
return render(request, 'todos/index.html',context)
def detail(request,id):
todo =Todo.objects.get(id=id)
context={'todo':todo}
return render(request, 'todos/detail.html',context)
todos/url.py:
app_name ="todos"
urlpatterns = [
path('', views.index, name='index'),
path('detail/<int:id>/', views.detail, name='detail'),
]
**我必须实际单击才能激活链接:
可以,但是并没有带我进入详细信息页面**
答案 0 :(得分:0)
您将id
用于错误的变量。因此,请更新以下代码(我正在使用empty标签来处理空的todos
):
<ul>
{% for todos in todo %}
<li><a href="{% url 'todos:detail' todos.id %}">{{ todos.text }}</a></li> // Changed here from todo.id to todos.id
{% empty %}
<li> No ToDos </li>
{% endfor %}
</ul>