我是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的末尾,並不會轉到根目錄。 –