Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django将select url参数传递给视图_Python_Django_Url Routing - Fatal编程技术网

Python Django将select url参数传递给视图

Python Django将select url参数传递给视图,python,django,url-routing,Python,Django,Url Routing,假设我有一个url,它捕获了几个参数。例如: url(r'^(?P<l_slug>[-\w]+)/(?P<t_slug>[-\w]+)/(?P<event_id>\d+)/$', 'views.SomeView'), 我处理这个问题的方式是: def SomeView(request, l_slug=None, t_slug=None, event_id=None): return HttpResponse('hi {}'.format(event_

假设我有一个url,它捕获了几个参数。例如:

url(r'^(?P<l_slug>[-\w]+)/(?P<t_slug>[-\w]+)/(?P<event_id>\d+)/$', 'views.SomeView'),
我处理这个问题的方式是:

def SomeView(request, l_slug=None, t_slug=None, event_id=None):
    return HttpResponse('hi {}'.format(event_id))

是否有限制从url行传递到视图的参数的内容?

您唯一的限制是查询字符串的长度(据我所知),它因浏览器而异。有关更多详细信息,请参阅

至于让URL更具可读性,或者只提取所需的参数,这有点主观

如果希望URL显式,可以通过传入命名参数继续执行当前操作,但可以将方法签名更改为:

def some_view(request, *args, **kwargs):
    # more code here
然后检索所需的arg或kwarg,如果它不存在,则返回
None

还可以传递与querystring参数相同的值。如果您这样做了,您就不必在视图中定义任何arg或kwarg,您只需从
请求中提取值。获取
字典,或者如果找不到键,则返回
None


因此,什么更具可读性取决于您。

您唯一的限制是查询字符串的长度(据我所知),它因浏览器而异。有关更多详细信息,请参阅

至于让URL更具可读性,或者只提取所需的参数,这有点主观

如果希望URL显式,可以通过传入命名参数继续执行当前操作,但可以将方法签名更改为:

def some_view(request, *args, **kwargs):
    # more code here
然后检索所需的arg或kwarg,如果它不存在,则返回
None

还可以传递与querystring参数相同的值。如果您这样做了,您就不必在视图中定义任何arg或kwarg,您只需从
请求中提取值。获取
字典,或者如果找不到键,则返回
None


因此,什么内容更具可读性取决于您。

我的问题不是查询字符串的长度。这是关于传递比查询字符串中更少的参数。如果为了url的可读性,querystring提供了几个参数,但我只想要其中一个参数,那该怎么办?我已经用更多的想法补充了我的答案。谢谢你的额外想法。它给了我很好的方向感!我的问题不是询问的长度。这是关于传递比查询字符串中更少的参数。如果为了url的可读性,querystring提供了几个参数,但我只想要其中一个参数,那该怎么办?我已经用更多的想法补充了我的答案。谢谢你的额外想法。它给了我很好的方向感!