Python Django可选参数未从url读取

Python Django可选参数未从url读取,python,django,Python,Django,我在读线程 并按照以下步骤生成带有单个可选参数的URL 那么,我的URL应该是: /client/ /client/?clientname=John 我定义了两种模式 url(r'^$', views.index, name='index'), url(r'^/(?P<clientname>\d+)/',views.index), 搜索的名称始终是noparameter 我做错什么了吗?您的Url是 /client/John/ 而不是 /client/?clientname=

我在读线程 并按照以下步骤生成带有单个可选参数的URL

那么,我的URL应该是:

/client/
/client/?clientname=John
我定义了两种模式

url(r'^$', views.index, name='index'),
url(r'^/(?P<clientname>\d+)/',views.index),
搜索的名称始终是
noparameter

我做错什么了吗?

您的Url是

/client/John/ 
而不是

/client/?clientname=John
此外,即使在下面的示例中使用John也会失败,因为您的正则表达式用于数字,请查看关于

如果您想取而代之地获取参数,您可以在视图中使用以下命令

request.GET.get('clientanme', None)
您正在使用的Url是

/client/John/ 
而不是

/client/?clientname=John
此外,即使在下面的示例中使用John也会失败,因为您的正则表达式用于数字,请查看关于

如果您想取而代之地获取参数,您可以在视图中使用以下命令

request.GET.get('clientanme', None)

似乎您正在混淆关键字参数和get请求。使用您的
url.py
配置的关键字参数,您的视图如下所示:

def index(request, **kwargs):
    clientname = kwargs.get("clientname", "noparameter")
    print("The searched name is: " + str(clientname))
您的url.py也必须更改为此,才能将url更改为:

url(r'^client/(?P<clientname>\w+)/',views.index),

似乎您正在混淆关键字参数和get请求。使用您的
url.py
配置的关键字参数,您的视图如下所示:

def index(request, **kwargs):
    clientname = kwargs.get("clientname", "noparameter")
    print("The searched name is: " + str(clientname))
您的url.py也必须更改为此,才能将url更改为:

url(r'^client/(?P<clientname>\w+)/',views.index),

你说得对!看完这本书后,我更清楚你给我写了什么。谢谢你说得对!看完这本书后,我更清楚你给我写了什么。谢谢