慕课网-Django入门到进阶-更适合Python小白的系统课程-第9章dashboard后端的搭建与开发-9-4dashboard搭建与管理员模块开发(4)
第9章 dashboard 后端的搭建与开发
9-4 dashboard 搭建与管理员模块开发(4)
1.在项目 vedio 下目录 templates/dashboard,修改文件 index.html,添加 css
<%inherit file="base.html" />
<%def name="content()">
<h1>欢迎来到 muke Django2 实战课程练习的 dashboard</h1>
</%def>
<%def name="title()">首页</%def>
<%def name="css()"%>
<style>
h1 {
margin: 5%;
}
</style>
</%def>
2.在项目 vedio 下目录 app/dashboard/views,添加文件 auth.py
# coding:utf-8
from django.views.generic import View
from app.libs.base_render import render_to_response
class Login(View):
TEMPLATE = 'dashboard/login.html'
def get(self, request):
return render_to_response(request, self.TEMPLATE)
def post(self, request):
pass
3.在项目 vedio 下目录 app/dashboard,修改文件 urls.py
# coding:utf-8
from django.urls import path
from .views.base import Index
from .views.auth import Login
urlpatterns = [
path('', Index.as_view()),
path('login/', Login.as_view(), name='dashboard_login'),
]
4.在项目 vedio 下目录 templates/dashboard/auth,添加文件 login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel="stylesheet" href="/static/dashboard/css/bootstrap.min.css" />
<link rel="stylesheet" href="/static/dashboard/css/login.css" />
</head>
<body>
<form class="form-horizontal edit-area" action="/dashboard/login" method="post">
${csrf_token}
<div class="form-group">
<div class="col-sm-10">
<input type="text" name="username" class="form-control" placeholder="用户名">
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="password" name="password" class="form-control" placeholder="密码">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">登录</button>
</div>
</div>
</form>
</body>
</html>
5.在项目 vedio 下目录 static/dashboard/css,添加文件 login.css
.edit-area {
width: 50%;
margin: 10% auto;
border: 1px solid #cccccc;
padding: 5%;
}
6.在项目 vedio 下目录 app/dashboard/views,修改文件 auth.py
# coding:utf-8
from django.views.generic import View
from django.shortcuts import redirect
from app.libs.base_render import render_to_response
class Login(View):
TEMPLATE = 'dashboard/auth/login.html'
def get(self, request):
return render_to_response(request, self.TEMPLATE)
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
print(username, password)
return redirect('/dashboard/login')
7.在项目 video 下目录命令行窗口执行生成数据库表
python manage.py makemigrations python manage.py migrate

8.在项目 video 下目录命令行窗口执行生成超级用户
python manage.py createsuperuser

9.在项目 vedio 下目录 app/dashboard/views,修改文件 auth.py
# coding:utf-8
from django.views.generic import View
from django.shortcuts import redirect
from django.contrib.auth import login, authenticate
from django.contrib.auth.models import User
from app.libs.base_render import render_to_response
class Login(View):
TEMPLATE = 'dashboard/auth/login.html'
def get(self, request):
return render_to_response(request, self.TEMPLATE)
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
print(username, password)
exists = User.objects.filter(username=username).exists()
data = {'error':'不存在该用户'}
if not exists:
return render_to_response(request, self.TEMPLATE, data)
user = authenticate(username=username, password=password)

posted on 2020-02-21 09:39 herisson_pan 阅读(9) 评论(0) 收藏 举报
浙公网安备 33010602011771号