我在模板中有一个表单,但无法访问相应的视图。方法是GET。我也试过传递一个参数只是为了填充查询字符串,但请求没有到达映射视图。这里是views.py,urls.py和模板:
template.html
<div id="search-new-btn">
<form action="/anagrafica/new/" method="get">
<input type="submit" title="Crea nuovo soggetto anagrafica" value="Nuovo" />
</form>
</div>
views.py
def anagrafica_new(request):
if request.method == 'GET':
form = AnagraficaForm()
sub = 'Nuovo soggetto anagrafica'
dict = {'sub':sub,'form':form}
return render_to_response('anagrafica_form.html', dict, context_instance=RequestContext(request))
urls.py
...
url(r'^anagrafica/new/',('gpf1.views.anagrafica_new')),
...
(http://openpaste.org/05b157c1)
无论如何,我还试图从回调url.py映射中删除(),但它没有改变任何东西。 请求似乎被映射,因为我的调试服务器打印这个:
"GET /anagrafica/new/? HTTP/1.1" 200 17310
但仅此而已。浏览器保持在同一页面上;我还在视图中放置了一个print语句,但它从未到达过。任何想法?
感谢, 路加
答案 0 :(得分:0)
建议Willian
不要将视图放在元组中。你缺少的另一件事是正则表达式末尾的$,即:
<强> urls.py 强>
...
url(r'^anagrafica/$','gpf1.views.anagrafica'),
...
url(r'^anagrafica/new/$','gpf1.views.anagrafica_new'),
...
确保包含gpf1包的文件夹在Pythonpath变量中(可通过python访问)。
编辑: 后来我注意到你有一个
的根网址图url(r'^anagrafica/','gpf1.views.anagrafica')
由于你最后错过$,Django会尝试将anagrafica/anything here
映射到gpf1.views.anagrafica
,这可能不是你想要的。考虑重新阅读正则表达式和Django的url映射文档,因为它会使事情更清晰。