Python 动态URL路由在Django中不起作用
以下是“REST api”项目的应用程序“api”的my URL.py: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
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文件的要求)。我尝试在末尾添加“/”,但仍然不起作用。