Django后台管理系统使用
创建Admin管理员账号
python manage.py createsuperuser
Username (leave blank to use ‘dchen’): admin #输入管理员名称
Email address: admin@email.com #输入邮箱
Password: #输入密码
Password (again): #再次输入密码确认
The password is too similar to the username.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
看到“Superuser created successfully”就创建成功了,这个用户信息存放在auth_user表中。
管理员后台地址:http://127.0.0.1:8000/admin/
(端口号根据实际来)
2.尝试登陆一下这个URL
发现提示404页面找不到,看这里的提示信息是没有对应的路由,接下来我们设置一下
3.打开urls.py,将url(r’admin/’, admin.site.urls),添加到urlpatterns,然后重新刷新一下浏览器出现登陆页面,输入步骤1设置的用户名和密码
4.登陆成功,管理员页面显示如下
新建用户
管理员页面单击“Add”添加用户,操作非常简单。
Django认证登录
django已经封装好用户认证登录的相关方法,可以直接使用。
from django.shortcuts import render
from django.contrib import auth
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth.decorators import login_required
def login(request):
if request.method == 'POST':
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username = username, password = password) #认证
if user is not None:
auth.login(request, user) #登录
response = HttpResponseRedirect('/image_mainpage/')
request.session['user'] = username
return response
else:
return render(request, "login.html", {'error': 'username or password error!'})
@login_required
def image_mainpage(request):
username = request.session.get('user', '') #读取浏览器session
return render(request, "image_mainpage.html", {"user":username})
authenticate()函数接收两个参数:username+password,对auth_user表中的数据进行验证,如果用户名密码正确时返回一个user对象,否则返回None。如果返回user对象,就进行login()登陆操作,login接收两个参数:HttpRequest对象+user对象。可以用管理员账号或者新add一个用户登录http://127.0.0.1:8000/进行验证一下