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

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

回答

2

这没有什么意义。你想提交你的表单到正则表达式规则?它会匹配什么?

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

如果我明白你说什么,你想从一个网址提交诸如/13/QuestionViewer/[0-9]+,请选择无action属性或将其设置为""到张贴到当前的网址。

请注意,如果你想用你的正则表达式的数字捕获,你需要围绕你的正则表达式中的括号,如'/([0-9]+)/$', QuestionViewer或使用名为正则表达式/(?P<id>[0-9]+)/$id等于匹配的正则表达式QuestionViewer一个参数来传递。

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

0

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

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

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

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