标签:box template framework function fir cut item ack als
from django.shortcuts import render,HttpResponse from rest_framework.views import APIView from random import choice from .models import UserProfile import datetime,json,time,hashlib # Create your views here. class RootLoginView(APIView): """管理员登录""" def post(self, request): pwd=request.data.get(‘pwd‘) if pwd: user = UserProfile.objects.filter(username=‘admin‘,password=pwd).first() if user: # 生成token now_time=str(int(time.time())) word=user.username+now_time token=hashlib.sha256(word.encode("utf-8")).hexdigest() # print(token) user.token=token user.save() result = {"status": "200", "data": {‘msg‘: ‘登录成功。‘,‘token‘:token}} else: result = {"status": "403", "data": {‘msg‘: ‘密码错误。‘}} else: result = {"status": "404", "data": {‘msg‘: ‘请输入管理员密码。‘}} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json,charset=utf-8")
from django.urls import path from .views import RootLoginView urlpatterns = [ path(‘rlogin/‘,RootLoginView.as_view()),#管理员登录 ]
from django.contrib import admin from django.urls import path,include from django.views.static import serve from NewCenter.settings import MEDIA_ROOT import xadmin urlpatterns = [ #path(‘admin/‘, admin.site.urls), path(‘xadmin/‘, xadmin.site.urls), path(‘media/<path:path>‘,serve,{‘document_root‘:MEDIA_ROOT}), path(‘users/‘,include(‘users.urls‘)), ]
//登录 export function tologin(params2) { return post(host+‘/users/rlogin/‘, {pwd:params2}); }
<template> <div class="login"> <transition name="el-zoom-in-center"> <div v-show="show2" class="transition-box"> <div class="inform"> <label for="pass"> 管理员密码: </label> <el-input placeholder="请输入管理员密码" v-model="pwd" show-password style="width:200px" id="pass"></el-input> <el-button type="primary" @click="login()">登录</el-button> </div> </div> </transition> </div> </template> <script> import storage from "@/storage.js"; import { tologin } from "@/api/api.js"; export default { name: ‘login‘, data () { return { msg:‘登录组件‘, show2: false, pwd:‘‘, } }, methods:{ // 页面动画 do(){ this.show2=true }, //登录 login(){ // ----向后端发送数据开始---- tologin(this.pwd).then(res => { if(res.status==200){ //console.log(res.data.token) storage.set(‘roottoken‘,res.data.token) this.$router.push({path:‘/index.html‘}) }else{ alert(res.data.msg) } }).catch(error => {console.log(error);}); // -----向后端发送数据结束----- } }, mounted(){ this.do() }, components:{ } } </script> <style scoped> .transition-box{ width: 600px; height: 500px; margin: 0 auto; background-color: #409EFF; margin-top: 200px; overflow: hidden; border-radius:5px; } .inform{ width: 500px; height: 400px; margin-top: 50px; margin-left: 50px; background: #fff; padding: 50px; border-radius:5px; } </style>
<template> <div id="index"> <div class="content"> <el-carousel :interval="3000" type="card" height="600px"> <el-carousel-item v-for="(item,index) in data" :key="index" > <img :src="item.img" :alt="item.title" @click="ToLou(index)"> </el-carousel-item> </el-carousel> </div> </div> </template> <script> // 引入模块 import storage from ‘@/storage.js‘; export default { name: ‘index‘, data () { return { msg:‘首页‘, data:[ {img:‘../../static/1.jpg‘,title:‘旗医院片区‘}, {img:‘../../static/2.jpg‘,title:‘实验小学片区‘}, {img:‘../../static/3.jpg‘,title:‘武安小区片区‘}, {img:‘../../static/4.jpg‘,title:‘武安小区西片区‘} ] } }, methods:{ //跳转到楼列表页 ToLou(e){ console.log(e) }, //查看是否登录 me_init(){ if(storage.get(‘roottoken‘)){ return true }else{ this.$router.push({path:‘/login.html‘}) } }, //登出 logout(){ storage.remove(‘roottoken‘) }, //获取片区列表信息 getPian(){ console.log(‘获取片区列表‘) } }, mounted(){ this.me_init() } } </script> <style scoped> .content{ /* width: 80%; margin: 0 auto; */ margin-top: 60px; margin-bottom: 60px; } .el-carousel__item h3 { color: #475669; font-size: 14px; opacity: 0.75; line-height: 200px; margin: 0; } .el-carousel__item:nth-child(2n) { background-color: #99a9bf; } .el-carousel__item:nth-child(2n+1) { background-color: #d3dce6; } img{ /*设置图片宽度和浏览器宽度一致*/ width: 100%; height: inherit; } </style>
标签:box template framework function fir cut item ack als
原文地址:https://www.cnblogs.com/xuepangzi/p/13091625.html