Django - 在查询参数中接受完整的句子

Django - Accepting full sentence in query parameters

我正在组装一个小的 API,它只是将传入的消息转换为 Spongebob mockcase。

一切顺利,但回来后我意识到我一直在使用单个值进行测试,因此我注意到以下 URL 条目将无法接受空格/%20 .

url(r'^mock/(?P<message>\w+)/$',mock, name='mock'),

我已经查看了所有内容,但不确定如何恰当地表达我正在寻找的内容以找到有用的内容。我要找什么来接受一个完整的句子。

值得注意的是,这将来自聊天消息,因此,它将按原样发送,而不是经过百分比编码。

你真的不想把这样的东西作为 URL 参数。相反,它应该在查询字符串中:例如 mysite.com/mock/?message=Message+goes+here.

URL 应该是:

url('^mock/$', ...)

然后视图只从 request.GET['message'].

获取数据

您可以使用

解决眼前的问题
r'^mock/(?P<message>[^/]+)/?$

regex demo

在这里,[^/]+ 匹配 / 以外的任何一个或多个字符, /? 匹配字符串末尾的可选 /$).