我遇到了一些关于Django中URL映射的问题。我有以下代码:
table.html:
<form id="filter_form" method="post" action="update_filters/">
<input type="submit" name="submit" value="Report" />
</form>
urls.py:
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^update_filters/', views.filter_report, name='update_filters'),
]
views.py:
def filter_report(request):
# Code in the function
return render(request, 'autotester/table.html', context)
一切正常,但当我多次点击“报告”按钮时,我得到:
127.0.0.1:8000/autotester/update_filters
127.0.0.1:8000/autotester/update_filters/update_filters
127.0.0.1:8000/autotester/update_filters/update_filters/update_filters
etc
我不知道是什么导致了它。必须有一些简单的解决办法,但我找不到它,我一直试图弄清楚这3个小时,我的大脑只是油炸。
答案 0 :(得分:3)
尝试使用{% url 'update_filters' %}
模板标记。并在网址定义中的正则表达式末尾添加$
。
url(r'^update_filters/$', views.filter_report, name='update_filters'),