我们在django设置路由路径的时候, 是可以有两种方式传参数的.
urlpatterns = patterns(
'',
url(r'^some/(\d+)/$', views.view_1),
url(r'^some/(?P<pk>\d+)/$', views.view_2),
)
这里一个是命名参数, 一个是位置参数.
我们在视图函数中可以这样.
def view_1(request, *args):
do_something()
def view_2(request, pk):
do_something()
这样就把参数传了进来.
有时候我们还可以:
urlpatterns = patterns(
'',
url(r'^some/(\d+)/$', views.view_1),
url(r'^some/$', views.view_2, {"pk":12}),
)
这样连对应的view函数都不用改, 都可以使用view_2函数, 因为django视图函数不管你的参数是从get里解析得来的, 还是直接传进来的.