转发url参数以在Django中查看

时间:2017-06-01 21:11:08

标签: python django

我正在尝试将projects/1转发给视图,以便根据ID获取项目。 我试图改变正则表达式和名称。

编辑但问题是: id不会被转发(或至少不正确)到视图,这导致过滤器无法根据id找到Project。

与“项目”相关的网址:

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^project/(?P<project_id>([0-9]+))$', views.project, name='project'),
]  

“项目”的视图:

def project(request, project_id=1):
    template = loader.get_template("project.html")
    context = {
        'project': Project.objects.filter(project_id=project_id)
    }

    return HttpResponse(template.render(context, request))

1 个答案:

答案 0 :(得分:2)

正则表达式对我来说似乎有点不对,特别是括号。试试这个:

url(r'^project/(?P<project_id>[0-9]+)/$', views.project, name='project'),

<强>更新

所以你想只展示一个项目而不是几个。在这种情况下,请在视图中将Project.objects.filter更改为Project.objects.get

另外,请尝试this awesome django tutorial了解基础知识

希望它有所帮助。