Django参数在遇到第一个问号时停止打印

2 投票
1 回答
44 浏览
提问于 2025-04-12 02:47

我最近在学习Django这个框架,感觉它在网页开发方面非常不错!

在我的views.py文件里,有这样一个视图:

def callerview(request,paramm):
  text="this is what was sent : %s"%paramm
   return HttpResponse(text)

在urls.py文件中,这个视图的URL是这样的:

urlpatterns = [
path('callerview/<str:paramm>/', views.callerview, name='callerview'),
]

现在,我把一个文字问题作为'paramm'传给它。这个功能正常,可以在本地服务器上打印出文字问题。但是,如果这个问题里有问号,它在遇到第一个问号时就停止打印了。

比如,如果URL是这样的: callerview/为什么玫瑰是红色的?为什么天空是蓝色的?

那么在本地服务器的输出中,我只会看到:为什么玫瑰是红色的 而且 后面就没有了!

我需要能够获取到文字问题中的所有符号和字母!这样才能把它们发送给OpenAi助手的API。

有没有什么建议可以让我在打印文字问题时保留问号这个符号呢?

1 个回答

1

在HTTP网址中,问号是一个特别的符号。[RFC 1738] 它表示查询参数的开始。

在你的例子中,网址参数到问号?的位置就结束了,从那里开始就是查询参数。Django只是遵循了网址的规范

撰写回答