gpt4 book ai didi

Django 接受 GET 参数

转载 作者:行者123 更新时间:2023-12-02 13:35:34 29 4
gpt4 key购买 nike

错误可以在这里看到:http://djaffry.selfip.com:8080/

我希望索引页接受参数,无论是

mysite.com/search/param_here

mysite.com/?search=param_here

我的 URL 模式中有这个,但我无法让它工作。有什么建议吗?

urlpatterns = patterns('',
(r'^$/(?P<tag>\w+)', 'twingle.search.views.index'),
)

最佳答案

首先,您的 url 模式中的正则表达式是错误的。

r'^$/(?P<tag>\w+)'

它说要匹配来自

的所有内容
  • ^ 行首
  • $ 到行尾
  • 在行尾后面有一个名为标签的模式,由单词和数字组成

通常在一行结束后会出现另一行或 EOF 不内容(除非您使用多行正则表达式并且此处不需要这些)。

行尾应该在标签之后:

r'^/(?P<tag>\w+)$'
<小时/>

使用查询字符串

Query strings are not parsed by url reslover.

因此,如果您的网址格式为:

http://mysite.com/?query=param_here

将匹配:

(r'^$', 'twingle.search.views.index')

在这种情况下,您可以像这样访问 View 中的查询字符串:

request.GET.get('query', '')

没有查询字符串

mysite.com/search/param_here 

将匹配:

(r'^search/(?P<query>\w+)$', 'twingle.search.views.index'),

\w 匹配的所有内容(您应该更改它以满足您的需求)都将作为名为 query 的参数与索引 View 函数的请求一起传递。

两者

您可以使用两种 url 模式,如下所示:

urlpatterns = patterns('twingle.search.views',
url(r'^$', 'index'),
url(r'^search/(?P<query>\w+)$', 'index'),
)

在此示例中, View 将如下所示:

def index(request, query=None)
if not query:
query = request.GET.get('query', '')
# do stuff with `query` string

关于Django 接受 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891441/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com