表单重定向到包含查询字词的网址? - 纯HTML或Django

AP2*_*257 0 django django-forms

我想在Django中创建一个位于URL /搜索的搜索框,并重定向到友好的URL,如/ search/queryterm - 而不是在URL中使用?q = queryterm)

因此,用户键入查询词,将它们带到/ search/queryterm,并显示结果列表.

我可以获得并显示结果OK给定像/ search/queryterm这样的URL.

但我不知道从表单处理URL重定向的最佳方法.这应该是表单中纯HTML的重定向(感觉有点hacky),如果是这样,我该如何实现呢?

或者应该将表单POST发送到/ search /,然后将ResponseRedirect发送到/ search/queryterm页面?这不会慢吗?

谢谢!

Ben*_*mes 5

我认为,发布搜索查询是一个坏主意,并且滥用HTTP动词应该是什么应该是GET请求.有什么理由不能根据request.GET参数重定向到友好的URL 吗?

我也不同意使用"友好"网址进行搜索查询的原则; 在我看来,它们应该用于永久性资源,而不是像搜索结果这样的短暂事物.

对"友好"URL进行反击的原因是因为查询字符串被滥用来访问应该存在于普通URL的内容,例如/product.php?id=35.我不认为搜索结果属于这一类.