我試圖使用我在.html
文件中稱爲login.html
的表單獲取用戶數據。該代碼是:方法不允許(POST):/ login/
<form class="register-form" method="POST" action="{% url 'login' %}">
{% csrf_token %}
<table>
<tr>
<td>Username: </td>
<td><input type="username" name="username"><br></td>
</tr>
<tr>
<td>Password: </td>
<td><input type="password" name="password"><br></td>
</tr>
</table>
<br>
<input type="submit" value="Login" />
</form>
我已經有了一個數據庫與一羣用戶其中username和密碼存儲。我想創建自己的登錄頁面來檢查該數據庫。我想要做的事實質上是讓用戶訪問login.html
頁面,然後讓用戶輸入詳細信息並檢查數據庫。
我urls.py
看起來是這樣的:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^register$', include('register.urls')),
url(r'^login/', include('login.urls')),
url(r'^', include('home.urls')),
]
有效它去login.urls
其中urls.py
的是:
from django.conf.urls import url, include
from django.contrib import admin
from login import views
urlpatterns = [
url(r'^$', views.LoginPageView.as_view(), name='login'),
]
我views.py
是:
from django.shortcuts import render
from django.views.generic import TemplateView
from person.models import Person
class LoginPageView(TemplateView):
template_name = "login.html"
def get(self, request, **kwargs):
print(request)
return render(request, 'login.html')
問題是當我點擊提交按鈕,我想檢查數據庫,如果不成功,在登錄頁面顯示錯誤,否則,成功驗證用戶並將其帶到主頁。
而不是它的工作我越來越: Method Not Allowed (POST): /login/ [21/Apr/2017 14:31:12] "POST /login/ HTTP/1.1" 405 0
感謝。
您正在POST請求中發送數據,並在View.py中使用基於類的視圖,並且在該類中使用get方法而不是post方法。 –