Python 动态URL路由在Django中不起作用

Python 动态URL路由在Django中不起作用,python,django,dynamic-url,Python,Django,Dynamic Url,以下是“REST api”项目的应用程序“api”的my URL.py: from django.conf.urls import url from . import views app_name = 'api' urlpatterns = [ url(r'^view/<int:test_id>/$' , views.add_task_to_list, name= "add_task"), url(r'^$', views.index, name

以下是“REST api”项目的应用程序“api”的my URL.py:

from django.conf.urls import url
from . import views
app_name = 'api'
urlpatterns  = [
    url(r'^view/<int:test_id>/$' , views.add_task_to_list, name= "add_task"),
    url(r'^$', views.index, name=  "index")
]
这是我的应用程序“api”的models.py:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponseRedirect, HttpResponse
from .forms import task_form, list_form
from .models import List, Task

# Create your views here.
def index(request):
    l_form = list_form(request.POST or None)
    if l_form.is_valid():
        l_form.save()
        return HttpResponseRedirect('/')
    # tasks = Tasks()
    lists = List.objects.all()
    context = {
        'l_form': l_form,
        'lists': lists
    }
    return render(request, 'api/main.html', context)


def add_task_to_list(request, test_id):
    task = Task()
    task.list = List.objects.get(pk=test_id)
    form = task_form(request.POST or None, instance= task)
    if form.is_valid:
        form.save()
    context = {
        'task':task,
        'form':form
    }
    return render(request, "api/create_task.html", context)
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models

class List(models.Model):
    date = models.DateField()
    author = models.CharField(
        max_length=100,
        blank= True
    )
    def __str__(self):
        return self.author

class Task(models.Model):
    task_name = models.CharField(
        max_length=150,
    )
    complete_status = models.BooleanField(
        default= False,
        blank= True
    )
    priority = models.IntegerField()
    list = models.ForeignKey(List, on_delete=models.CASCADE)
    def __str__(self):
        return self.task_name
但当我运行我的服务器,然后导航到“views/5”或“url.py”中提到的任何此类动态url时,我会收到一个错误消息:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/view/5
Using the URLconf defined in REST_Api.urls, Django tried these URL patterns, in this order:

^admin/
^view/<int:test_id>/$ [name='add_task']
^$ [name='index']
The current path, view/5, didn't match any of these. 
未找到页面(404) 请求方法:获取 请求URL:http://127.0.0.1:8000/view/5 Django使用REST_Api.URL中定义的URLconf,按以下顺序尝试了这些URL模式: ^管理员/ ^查看/$[name='add_task'] ^$[name='index'] 当前路径view/5与这些路径中的任何一个都不匹配。 有人能告诉我我在这里犯了什么错误吗?

这对我很有效
从django.url导入路径

path('view/',views.add_task_to_list,name=“add_task”),

我正在使用django 2.2 裁判: en/3.1/topics/http/url/

这对我来说很有效
从django.url导入路径

path('view/',views.add_task_to_list,name=“add_task”),

我正在使用django 2.2 裁判:
en/3.1/topics/http/url/

尝试在URL末尾添加斜杠(/)Try
/view/5/
,并在末尾添加斜杠(根据URL.py文件的要求)。我尝试在末尾添加“/”,但仍然不起作用。尝试在URL末尾添加斜杠(/)Try
/view/5/
(根据URL.py文件的要求)。我尝试在末尾添加“/”,但仍然不起作用。