Skip to main content
 首页 » 编程设计

python之Django 清理 URLS 和表单数据

2025年05月04日25dyllove98

我一定对如何在 Django 中操作 GET 变量有某种误解,但这里是:

(1) 我有一个搜索表单,其中包含两个必需参数和一个可选参数。

表单像这样发送到/search/:

<form action="/search/" method="GET"> 

但是,由此产生的 url 看起来像

http://mylifeforregex:8000/search/?keyword=keyword&columns=name&exact=on 

我无法在我的 urlpatterns 中将它与以下行匹配:

url(r'^search/(?P<keyword>\w+)(?P<columns>\w+)(?P<exact>\w+)?$', 'home', name='searched') 

因此,如果有人能告诉我这个正则表达式到底做错了什么,我们将不胜感激。

(2) 我个人比较感兴趣的问题是:有什么办法可以改变表单数据的呈现方式吗?是否有可能将表单查询结果放在一个看起来像

的 url 中
http://halp:8000/search/keywordquery/columnquery/optionmarked 

请您参考如下方法:

在这种情况下,附加到 URL 的查询字符串参数都不会匹配您的模式,因为模式根本不一样。

您需要在“主页” View 中选择这些:

[variable] = request.GET.get([key]) 

要获得您期望的 url 模式,您必须对处理表单的 View 执行 POST 以获取值,然后重定向到 '/search/[keyword]/[column]/[准确]/'