django - urlconf请求映射和未到达的视图

时间:2011-11-07 20:22:54

标签: python django django-forms get django-views

我在模板中有一个表单,但无法访问相应的视图。方法是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语句,但它从未到达过。任何想法?

感谢, 路加

1 个答案:

答案 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映射文档,因为它会使事情更清晰。