我想在我的 url 模式中传递两个参数,但我收到错误 no-reverse match ie ‘projects’。虽然它只用一个参数就可以正常工作。
这是主要的 urls 文件-
urlpatterns = [
path('admin/', admin.site.urls),
path(r'^materials/(?P<name>(\s+)/',include('materials.urls')),
path(r'^projects/',include('projects.urls')),
]
projects.urls-
urlpatterns = [
path('',views.view_projects,name='view_projects'),
path('(?<projectid>\d+)/',views.project_steps,name='project_steps'),
path('(P<projectid>\d+)/(P<stepid>\d+)/',views.project_steps,
name='project_steps'),
]
views.py-
def view_projects(request):
projects = project.objects.all
return render(request,'projects/project_view.html',
{'projects':projects})
def project_steps(request,projectid,stepno=1):
projects = project.objects.all
stepss = steps.objects.all
return render(request,'projects/project_steps.html',
{'projectid':projectid,'steps':stepss,'projects':projects,
'stepno':stepno})
模板-
"{% url 'projects' projectid=project.id stepno=step.step_no %}"
原文由 user9723456 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以执行以下操作。
有关 django 2.0 中正则表达式模式的更多详细信息,您可以查看 django 文档链接。 https://docs.djangoproject.com/en/2.1/topics/http/urls/