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错误
发现提示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/进行验证一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值