【发布时间】:2017-09-26 01:44:36
【问题描述】:
我是 Django 新手,通过开发小项目来学习它。 目前我正在创建登录应用程序。我面临以下问题, 我已经在一个模板中的表单标签上写了:
<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'))
]
urlpatterns=[
#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')
]
但问题是随着我继续点击提交按钮 url 不断增加,比如 http://localhost:8000/login_page/ localhost:8000/login_page/Welcome/ localhost:8000/login_page/Welcome/login_page
因此它给出了错误,因为它找不到第三个 url。如何纠正它。 ?我们可以在表单标签中查看视图进行操作吗?
【问题讨论】:
-
您的表单应该是
POST,而不是GET -
跟随 slackmart 的回答。这就是你应该这样做的方式,但 URL 这样做的原因是因为你传递了一个没有前面
/的相对 URL。这只是将其添加到现有 URL 的末尾,并不会转到根目录。
标签: python django django-forms