views.py
# 登陆验证装饰器引用
from django.contrib.auth.decorators import login_required
# 验证模块
from django.contrib.auth import authenticate, login, logout
# authenticate用于验证用户名密码是否正确
# login,logout用于登陆、注销
views中定义登陆函数,登陆成功则跳转首页,失败则返回错误信息
def signin(request):
print(request.method)
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
print(username, password)
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
print('登陆成功')
return redirect('/bbs')
else:
err_message = '登陆失败'
print('登陆失败')
return render(request, 'bbs/signin.html', {'err_message': err_message, })
return render(request, 'bbs/signin.html')
urls.py 中定义url与views函数之间的链接关系
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^bbs/', include('bbs.urls')),
url(r'^signin/', views.signin, name='signin'),
url(r'^signout/', views.signout, name='signout'),
]
知识点
request.user.is_authenticated 此为在模板中判断是否登陆
<li><a href="{% url 'signout' %}">注销</a></li> 模板中url拼接