我是Django的新手,并通过开发小型项目来学习它。 目前我创建登录app.I现在面临跌破发行, 我已经在一个模板写在表单标签:如何避免在Django中增加url
<form method="GET" action="login_page/">
{% csrf_token %}
<button type ="submit"> Login</button>
</form>
点击提交按钮,我去登录/页网址之后。
而且在我写了下面的表单标签的其他模板,
<form method="GET" action= "Welcome/">
{% csrf_token %}
<button type ="submit"> Sign Up</button>
</form>
和我的网址是:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login_page/', include('login.urls'))
]
URL模式= [
#url(r'^$',TemplateView.as_view(template_name='base.html'),name='base'),
url(r'^$',views.HomeView.as_view(),name='home'),
url(r'^Welcome/$', views.WelcomeView.as_view(), name='Welcome'),
#url(r'^Welcome/$',TemplateView.as_view(template_name='Welcome.html'),name='Welcome'),
url(r'^logout/$',TemplateView.as_view(template_name='Logout.html'),name='Logout'),
url(r'^home/$',views.HomeView.as_view(),name='home')
]
但我ssue是我的推移和点击提交按钮网址不断增加,像 http://localhost:8000/login_page/ 本地主机:8000/login_page /首页/ 本地主机:8000/login_page /首页/ login_page
,因此它提供了错误,因为它无法找到第三个网址。如何纠正它。 ?我们可以去表单标签中的操作视图吗?
你的形式应该是一个'POST',而不是一个'GET' – MrE
与slackmart的答案一起去。这就是你应该这么做的原因,但是URL的原因是因为你传递了一个没有前面'/'的相对URL。这只是将其添加到现有URL的末尾,并不会转到根目录。 –