标签:失败 use ref resolve inpu import from cat 用户登陆
# 简单的登录 # 1.views.py from django.shortcuts import render, redirect from django.core.urlresolvers import reverse # 用户登陆逻辑 def user_login(request): if request.method == "POST": # 从input框中获取用户名密码 user_name = request.POST.get("username", "") pass_word = request.POST.get("password", "") # 用django内置的auth中的authenticate()方法来验证用户名密码 from django.contrib.auth import authenticate, login # 验证用户名密码是否正确 user = authenticate(username=user_name, password=pass_word) # 如果用户名密码正确,就登陆 if user: login(request, user) return redirect(reverse("index"), {"user":user}) else: return render(request, "test/login.html", {"msg":"登录失败!!!"}) elif request.method == "GET": return render(request, "test/login.html", locals()) # 2.urls.py url(r‘^login/$‘, views.user_login, name="login"), # 3.index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% if request.user.is_authenticated %} <h1>登录成功</h1> <div class="login_info fl"> 欢迎您:<em>{{ user.username }}</em> </div> {% else %} <div class="login_btn fl"> <a href="login.html">登录</a> <span>|</span> <a href="register.html">注册</a> </div> {% endif %} </body> </html> # 基于类视图的登录 # 1.views.py from django.shortcuts import render # from django.core.urlresolvers import reverse from django.views.generic.base import View from django.contrib.auth import authenticate, login # cbv类视图 class LoginView(View): def post(self, request): # 从表单输入中获取值 user_name = request.POST.get("username", "") pass_word = request.POST.get("password", "") user = authenticate(username=user_name, password=pass_word) if user: login(request, user) return render(request, "test/index.html") else: return render(request, "test/login.html", {"msg":"用户名密码不存在"}) def get(self, request): return render(request, "test/login.html", locals()) # 2.urls.py url(r‘^login/$‘, LoginView.as_view(), name="login"), # 3.index.html # 同上
标签:失败 use ref resolve inpu import from cat 用户登陆
原文地址:http://www.cnblogs.com/pymkl/p/7901115.html