我试图使用我在.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方法。 –