参照“python编程从入门到实践”书中19章进行账号登录页编写,报如下错,百思不得其解,请大神们多多指点。
项目 urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('ds_project.urls'), name='ds_project'),
path('users/', include('users.urls'), name='users'),
]
users/url.py
from django.urls import path, include, re_path
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.views import LoginView
from . import views
app_name = 'users'
urlpatterns = [
# 登录页面
path('login/', login, LoginView.as_view(template_name='users/login.html'), name='login'),
]
templates/users/login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
{% block content %}
{% if form.errors %}
<p>用户名和密码不匹配,请重新尝试!</p>
{% endif %}
<form method="post" action="{% url 'users:login' %}">
{% csrf_token %}
{{ form.as_p }}
<button name="submit">登录</button>
<input type="hidden" name="next" value="{% url 'ds_project:index' %}">
</form>
{% endblock content %}
</body>
</html>
报错:
TypeError at /users/login/
'function' object is not iterable
Request Method: GET
Request URL: http://127.0.0.1:8000/users/login/
Django Version: 2.2.3
Exception Type: TypeError
Exception Value:
'function' object is not iterable