我怎样才能匹配html中的url

时间:2011-03-07 22:07:22

标签: python django

<form action='/[0-9]+' method="POST">
    <input type="submit" value="delete question" name="delete">
</form>

以上是我用于appengine项目的html模板。除此之外,我创建了一个Web请求处理程序类来处理此请求。 ('/ [0-9] +',QuestionViewer),它应该捕获任何数字的url。但是,在我点击上面的删除按钮后,我的页面被定向到一些url,如main / [0-9],我不知道我是否可以在django模板中使用正则表达式,或者是否有一个我的QuestionViewers类可以捕获数字的url吗?因为与html页面关联的我的网址是动态的,就像/之后的部分,如/ 13,正在相应地改变,我不能这样做只适用于第13页但不适用于/ 14或类似的东西。希望我说清楚。有帮助吗?非常感谢你。

2 个答案:

答案 0 :(得分:2)

这没有多大意义。您想将表单提交到正则表达式规则吗?它会匹配什么?

不,表单需要提交到特定网址。现在,它正在尝试提交到/[0-9]+

如果我理解您所说的内容,并且您希望从/13/的网址提交QuestionViewer /[0-9]+,则只需提交action属性或者将其设置为""以发布到当前网址。

请注意,如果要使用正则表达式中捕获的数字,则需要在括号中包围正则表达式,例如'/([0-9]+)/$', QuestionViewer或使用命名的regexp /(?P<id>[0-9]+)/$传递{{{1}的参数1}}等于匹配的正则表达式id

http://docs.djangoproject.com/en/1.0/topics/http/urls/#how-django-processes-a-request

答案 1 :(得分:0)

action属性的值必须是有效的URL。

我认为您想要的是为动作网址生成实际数字;一个数字,是您要删除的问题的编号。例如:

<form action="/1234" method="POST">

您需要更改代码以确保执行此操作。