我在 Django 中遇到了一些关于 URL 映射的问题。我有以下代码:
表格.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 个小时了,但我的脑子都快炸了。
请您参考如下方法:
尝试使用 {% url 'update_filters' %} 模板标签。并且还在您的 url 定义中的正则表达式末尾添加 $。
url(r'^update_filters/$', views.filter_report, name='update_filters'),
