日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Django實現(xiàn)前后端登錄

瀏覽:44日期:2024-09-08 14:44:51
前端登錄1. login.vue

<template> <div class='sign'> <div class='logo'><a href='http://m.b3g6.com/' rel='external nofollow' ><img src='https://rkxy.com.cn/static/image/nav-logo.png' alt='Logo'></a></div> <div class='main'><h4 class='title'> <div class='normal-title'> <a href='http://m.b3g6.com/login' rel='external nofollow' >登錄</a> <b>·</b> <a class='' href='http://m.b3g6.com/register' rel='external nofollow' >注冊</a> </div></h4><div class='js-sign-in-container'> <form action='' method='post'> <div class='input-prepend restyle js-normal'><input placeholder='手機號或郵箱' type='text' name='session[email_or_mobile_number]' id='session_email_or_mobile_number'><i class='iconfont ic-user'></i> </div> <!-- 海外登錄登錄名輸入框 --> <div class='input-prepend'> <input placeholder='密碼' type='password' name='password' id='session_password'> <i class='iconfont ic-password'></i> </div> <div class='remember-btn'> <input type='checkbox' value='true' checked='checked' name='remember_me' id='session_remember_me'><span>記住我</span> </div> <div class='forget-btn'> <a class='' data-toggle='dropdown' href='http://m.b3g6.com/bcjs/17041.html'>登錄遇到問題?</a> </div> <button type='button'> <span id='sign-in-loading'></span> 登錄 </button></form> <!-- 更多登錄方式 --> <div class='more-sign'> <h6>社交帳號登錄</h6> <ul> <li class=''> <a id='weibo-link'> <i class='iconfont ic-weibo'></i> </a> </li> <li><a target='_blank' href='http://m.b3g6.com/bcjs/17041.html'><i class=' rel='external nofollow' rel='external nofollow' iconfont ic-wechat'></i></a></li> <li><a target='_blank' href='http://m.b3g6.com/bcjs/17041.html'><i class=' rel='external nofollow' rel='external nofollow' iconfont ic-qq_connect'></i></a></li></ul> </div></div> </div> </div></template><script> export default {name: 'Login' }</script><style scoped>input{ outline: none;}*, :after, :before { box-sizing: border-box;}.sign {height: 100%;min-height: 750px;text-align: center;font-size: 14px;background-color: #f1f1f1}.sign:before {content: '';display: inline-block;height: 85%;vertical-align: middle}.sign .disable,.sign .disable-gray {opacity: .5;pointer-events: none}.sign .disable-gray {background-color: #969696}.sign .tooltip-error {font-size: 14px;line-height: 25px;white-space: nowrap;background: none}.sign .tooltip-error .tooltip-inner {max-width: 280px;color: #333;border: 1px solid #ea6f5a;background-color: #fff}.sign .tooltip-error .tooltip-inner i {position: static;margin-right: 5px;font-size: 20px;color: #ea6f5a;vertical-align: middle}.sign .tooltip-error .tooltip-inner span {vertical-align: middle;display: inline-block;white-space: normal;max-width: 230px}.sign .tooltip-error.right .tooltip-arrow-border {border-right-color: #ea6f5a}.sign .tooltip-error.right .tooltip-arrow-bg {left: 2px;border-right-color: #fff}.sign .slide-error {position: relative;padding: 10px 0;border: 1px solid #c8c8c8;border-radius: 4px}.sign .slide-error i {position: static!important;margin-right: 10px;color: #ea6f5a!important;vertical-align: middle}.sign .slide-error span {font-size: 15px;vertical-align: middle}.sign .slide-error div {margin-top: 10px;font-size: 13px}.sign .slide-error a {color: #3194d0}.sign .js-sign-up-forbidden {color: #999;padding: 80px 0 100px}.sign .js-sign-up-container .slide-error {border-bottom: none;border-radius: 0}.sign .logo {position: absolute;top: 56px;margin-left: 50px}.sign .logo img {width: 100px}.sign .main {width: 400px;margin: 60px auto 0;padding: 50px 50px 30px;background-color: #fff;border-radius: 4px;box-shadow: 0 0 8px rgba(0,0,0,.1);vertical-align: middle;display: inline-block}.sign .reset-title,.sign .title {margin: 0 auto 50px;padding: 10px;font-weight: 400;color: #969696}.sign .reset-title a,.sign .title a {padding: 10px;color: #969696}.sign .reset-title a:hover,.sign .title a:hover {border-bottom: 2px solid #ea6f5a}.sign .reset-title .active,.sign .title .active {font-weight: 700;color: #ea6f5a;border-bottom: 2px solid #ea6f5a}.sign .reset-title b,.sign .title b {padding: 10px}.sign .reset-title {color: #333;font-weight: 700}.sign form {margin-bottom: 30px}.sign form .input-prepend {position: relative;width: 100%}.sign form .input-prepend input {width: 100%;height: 50px;margin-bottom: 0;padding: 4px 12px 4px 35px;border: 1px solid #c8c8c8;border-radius: 0 0 4px 4px;background-color: hsla(0,0%,71%,.1);vertical-align: middle}.sign form .input-prepend i {position: absolute;top: 14px;left: 10px;font-size: 18px;color: #969696}.sign form .input-prepend span {color: #333}.sign form .input-prepend .ic-show {top: 18px;left: auto;right: 8px;font-size: 12px}.sign form .geetest-placeholder {height: 44px;border-radius: 4px;background-color: hsla(0,0%,71%,.1);text-align: center;line-height: 44px;font-size: 14px;color: #999}.sign form .restyle {margin-bottom: 0}.sign form .restyle input {border-bottom: none;border-radius: 4px 4px 0 0}.sign form .no-radius input {border-radius: 0}.sign form .slide-security-placeholder {height: 32px;background-color: hsla(0,0%,71%,.1);border-radius: 4px}.sign form .slide-security-placeholder p {padding-top: 7px;color: #999;margin-right: -7px}.sign .overseas-btn {font-size: 14px;color: #999}.sign .overseas-btn:hover {color: #2f2f2f}.sign .remember-btn {float: left;margin: 15px 0}.sign .remember-btn span {margin-left: 5px;font-size: 15px;color: #969696;vertical-align: middle}.sign .forget-btn {float: right;position: relative;margin: 15px 0;font-size: 14px}.sign .forget-btn a {color: #999}.sign .forget-btn a:hover {color: #333}.sign .forget-btn .dropdown-menu {top: 20px;left: auto;right: 0;border-radius: 4px}.sign .forget-btn .dropdown-menu a {padding: 10px 20px;color: #333}.sign #sign-in-loading {position: relative;width: 20px;height: 20px;vertical-align: middle;margin-top: -4px;margin-right: 2px;display: none}.sign #sign-in-loading:after {content: '';position: absolute;left: 0;top: 0;width: 100%;height: 100%;background-color: transparent}.sign #sign-in-loading:before {content: '';position: absolute;top: 50%;left: 50%;width: 20px;height: 20px;margin: -10px 0 0 -10px;border-radius: 10px;border: 2px solid #fff;border-bottom-color: transparent;vertical-align: middle;-webkit-animation: rolling .8s infinite linear;animation: rolling .8s infinite linear;z-index: 1}.sign .sign-in-button,.sign .sign-up-button {margin-top: 20px;width: 100%;padding: 9px 18px;font-size: 18px;border: none;border-radius: 25px;color: #fff;background: #42c02e;cursor: pointer;outline: none;display: block;clear: both}.sign .sign-in-button:hover,.sign .sign-up-button:hover {background: #3db922}.sign .sign-in-button {background: #3194d0}.sign .sign-in-button:hover {background: #187cb7}.sign .btn-in-resend,.sign .btn-up-resend {position: absolute;top: 7px;right: 7px;width: 100px;height: 36px;font-size: 13px;color: #fff;background-color: #42c02e;border-radius: 20px;line-height: 36px}.sign .btn-in-resend {background-color: #3194d0}.sign .sign-up-msg {margin: 10px 0;padding: 0;text-align: center;font-size: 12px;line-height: 20px;color: #969696}.sign .sign-up-msg a,.sign .sign-up-msg a:hover {color: #3194d0}.sign .overseas input {padding-left: 110px!important}.sign .overseas .overseas-number {position: absolute;top: 0;left: 0;width: 100px;height: 50px;font-size: 18px;color: #969696;border-right: 1px solid #c8c8c8}.sign .overseas .overseas-number span {margin-top: 17px;padding-left: 35px;text-align: left;font-size: 14px;display: block}.sign .overseas .dropdown-menu {width: 100%;max-height: 285px;font-size: 14px;border-radius: 0 0 4px 4px;overflow-y: auto}.sign .overseas .dropdown-menu li .nation-code {width: 65px;display: inline-block}.sign .overseas .dropdown-menu li a {padding: 6px 20px;font-size: 14px;line-height: 20px}.sign .overseas .dropdown-menu li a::hover {color: #fff;background-color: #f5f5f5}.sign .more-sign {margin-top: 50px}.sign .more-sign h6 {position: relative;margin: 0 0 10px;font-size: 12px;color: #b5b5b5}.sign .more-sign h6:before {left: 30px}.sign .more-sign h6:after,.sign .more-sign h6:before {content: '';border-top: 1px solid #b5b5b5;display: block;position: absolute;width: 60px;top: 5px}.sign .more-sign h6:after {right: 30px}.sign .more-sign ul {margin-bottom: 10px;list-style: none}.sign .more-sign ul li {margin: 0 5px;display: inline-block}.sign .more-sign ul a {width: 50px;height: 50px;line-height: 50px;display: block}.sign .more-sign ul i {font-size: 28px}.sign .more-sign .ic-weibo {color: #e05244}.sign .more-sign .ic-wechat {color: #00bb29}.sign .more-sign .ic-qq_connect {color: #498ad5}.sign .more-sign .ic-douban {color: #00820f}.sign .more-sign .ic-more {color: #999}.sign .more-sign .weibo-loading {pointer-events: none;cursor: pointer;position: relative}.sign .more-sign .weibo-loading:after {content: '';position: absolute;left: 0;top: 0;width: 100%;height: 100%;background-color: #fff}body.reader-night-mode .sign .more-sign .weibo-loading:after {background-color: #3f3f3f}.sign .more-sign .weibo-loading:before {content: '';position: absolute;top: 50%;left: 50%;width: 20px;height: 20px;margin: -10px 0 0 -10px;border-radius: 10px;border: 2px solid #e05244;border-bottom-color: transparent;vertical-align: middle;-webkit-animation: rolling .8s infinite linear;animation: rolling .8s infinite linear;z-index: 1}@keyframes rolling {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg)}to {-webkit-transform: rotate(1turn);transform: rotate(1turn)}}@-webkit-keyframes rolling {0% {-webkit-transform: rotate(0deg)}to {-webkit-transform: rotate(1turn)}}.sign .reset-password-input {border-radius: 4px!important}.sign .return {margin-left: -8px;color: #969696}.sign .return:hover {color: #333}.sign .return i {margin-right: 5px}.sign .icheckbox_square-green {display: inline-block;*display: inline;vertical-align: middle;margin: 0;padding: 0;width: 18px;height: 18px;background: url(/static/image/green.png) no-repeat;border: none;cursor: pointer;background-position: 0 0}.sign .icheckbox_square-green.hover {background-position: -20px 0}.sign .icheckbox_square-green.checked {background-position: -40px 0}.sign .icheckbox_square-green.disabled {background-position: -60px 0;cursor: default}.sign .icheckbox_square-green.checked.disabled {background-position: -80px 0}.geetest_panel_box>* {box-sizing: content-box}@media (max-width:768px) {body {min-width: 0}.sign {height: auto;min-height: 0;background-color: transparent}.sign .logo {display: none}.sign .main {position: absolute;left: 50%;margin: 0 0 0 -200px;box-shadow: none}}</style>2.設(shè)置路由

router/index.JS

import Vue from ’vue’import Router from ’vue-router’import Home from ’@/components/Home’import Login from ’@/components/Login’import Register from '../src/components/Register';import QQLoginIndex from ’@/components/OOLoginIndex’Vue.vue(Router)export default new Router({ mode:’history’, routes:[ { path:’/’, component:Home }, { path:’/login’, component: Login }, { path:’/register’, component: Register }, { path:’/oauth_callback.html’, component: QQLoginIndex } ]})3.登錄標(biāo)簽設(shè)置

header.vue

將a 標(biāo)簽設(shè)置為 router-link(站外鏈接調(diào)整為站內(nèi)鏈接)

<router-link to='/login'>登錄</router-link>后端登錄2.1 創(chuàng)建一個用戶表

虛擬環(huán)境下

cd renranapi/renranapi/appspython ../../manage.py startapp users2.2 Settings/dev/py 新增配置

INSTALLED_APPS = [ #以下為第三方軟件 ’corsheaders’, ’users’]2.3 運行時報錯修& 改配置環(huán)境路徑

報錯

Django實現(xiàn)前后端登錄

修改配置環(huán)境路徑

settings.dev.py

修改配置環(huán)境路徑settings.dev.py2.4 創(chuàng)建用戶模型類

Renranapi/apps/users/migrations/models.py

from django.db import modelsfrom django.contrib.auth.models import AbstractUser# Create your models here.class User(AbstractUser): '''用戶模型類''' mobile = models.CharField(max_length=15, null=True,blank=True, unique=True, help_text='手機號碼',verbose_name='手機號碼') wxchat = models.CharField(max_length=100, null=True, blank=True, unique=True, help_text='微信賬號',verbose_name='微信賬號') alipay = models.CharField(max_length=100, null=True, blank=True, unique=True, help_text='支付寶賬號',verbose_name='支付寶賬號') qq_number = models.CharField(max_length=11, null=True, blank=True, unique=True, help_text='QQ號',verbose_name='QQ號') # 保存文件的子目錄 avatar = models.ImageField(upload_to='avatar', null=True,blank=True, default=None, verbose_name='頭像') class Meta:db_table = 'rr_users'verbose_name = '用戶信息'verbose_name_plural = verbose_name def __str__(self):return self.username2.5 配置

settings/dev.py

AUTH_USER_MODEL = ’users.User’2.6 數(shù)據(jù)庫遷移

python ../../manage.py makemigrationspython ../../ manage.py migrate

設(shè)置 mysql

Django實現(xiàn)前后端登錄

admin 配置

創(chuàng)建超級管理員

Django實現(xiàn)前后端登錄

此時后臺數(shù)據(jù)庫

Django實現(xiàn)前后端登錄

進(jìn)入http://127.0.0.1:8000/admin/root 用戶登錄:root 密碼 123

以上就是Django實現(xiàn)前后端登錄的詳細(xì)內(nèi)容,更多關(guān)于Django 前后端登錄的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91精品二区| 亚洲精品视频一二三区| 日韩一区二区三区在线看| 视频一区二区三区入口| 日韩国产欧美| 日韩欧美一区二区三区在线观看| 涩涩av在线| 图片区亚洲欧美小说区| 国产99久久| 中文无码久久精品| 国产情侣一区在线| 久久在线91| 日韩欧美字幕| 国产精品婷婷| 亚洲免费毛片| 久久中文在线| 蜜桃tv一区二区三区| 另类激情亚洲| 国产女人18毛片水真多18精品| 日韩国产在线观看| 视频在线不卡免费观看| 欧美在线影院| 欧美日韩中文| 成人在线免费观看网站| 黄色成人精品网站| 国产精品1区| 欧美特黄视频| 麻豆一区二区三| 精品在线播放| 久久伊人国产| 亚洲精品裸体| 岛国av在线播放| 在线精品福利| 久久天堂精品| 日韩激情一区二区| 久久精品不卡| 精品中国亚洲| 性色一区二区| 久久蜜桃av| 成人在线丰满少妇av| 日本a级不卡| 亚洲尤物在线| 久久久久久美女精品| 国产激情精品一区二区三区| 自拍日韩欧美| 日韩理论视频| 欧美激情视频一区二区三区在线播放| 91精品电影| 欧美日韩在线网站| 麻豆91精品视频| 91成人在线网站| 日本久久一区| 综合激情婷婷| 亚洲深夜福利| 精品中文一区| 亚洲性图久久| 亚洲不卡av不卡一区二区| 成人一区而且| 黑森林国产精品av| 国产一区二区三区国产精品| 美女高潮久久久| 麻豆精品在线视频| 国产一区二区三区91| av中文字幕在线观看第一页 | 精品欠久久久中文字幕加勒比| 日韩欧美久久| 国产黄色精品| 韩国女主播一区二区三区| 国产成人精品一区二区三区视频| 久久不见久久见免费视频7| 国产精区一区二区| 国产一区二区三区免费在线| 高清一区二区| 激情欧美一区| 免费成人性网站| 日韩avvvv在线播放| 久久亚洲精精品中文字幕| 国产精品最新自拍| av日韩中文| 日韩视频二区| 日韩高清不卡在线| 乱一区二区av| 久久一区二区三区电影| 久久高清国产| 免费日韩成人| 亚洲性图久久| 国产调教精品| 综合日韩av| 亚洲免费福利一区| 国产传媒av在线| 视频一区二区三区在线| 国产乱码精品一区二区三区四区| 另类欧美日韩国产在线| 亚洲黄色影院| 麻豆精品视频在线观看视频| 欧美日韩黑人| 久久中文精品| 亚洲精品高潮| 三级精品视频| 欧美激情视频一区二区三区免费| 免费av一区二区三区四区| 国产激情综合| 中文字幕亚洲精品乱码| 国产精品99久久精品| 中文字幕免费一区二区| 中国字幕a在线看韩国电影| 蜜臀av亚洲一区中文字幕| 精品在线网站观看| 五月激激激综合网色播| 免费av一区| 欧美日韩视频免费观看| 国产日韩一区| 日韩和欧美的一区| 久久电影一区| 国产农村妇女精品一二区| sm捆绑调教国产免费网站在线观看| 国产香蕉精品| 日韩av资源网| 久久亚洲欧洲| 伊人成人网在线看| 国产一区日韩一区| 少妇精品导航| 成人在线免费观看网站| 国产精品1区| 美女视频网站久久| 美女视频黄免费的久久| 久久精品国产免费| 久久不见久久见中文字幕免费| 欧美中文一区| 欧美日一区二区在线观看| 国产日产一区| 久久亚州av| 日韩欧美综合| 亚洲一区二区三区四区五区午夜| 欧美高清一区| 欧美专区18| 日本不卡视频一二三区| 亚洲精品日韩久久| 日本免费新一区视频| 国产情侣一区在线| 久久久久久一区二区| 黄色在线网站噜噜噜| 久久久久久久久久久9不雅视频| 久久精品不卡| 亚洲ab电影| 欧美精品导航| 精品捆绑调教一区二区三区| 精品一区亚洲| 欧美久久一区二区三区| 日本一区二区高清不卡| 精品欧美激情在线观看| 日韩在线麻豆| 国产精品调教| 午夜av成人| 日本h片久久| 91精品xxx在线观看| 深夜福利一区| 亚洲精品88| 日韩影院精彩在线| 国产一区二区亚洲| 蜜臀a∨国产成人精品| 日韩av片子| 免费人成在线不卡| 91一区二区三区四区| 蜜桃av一区| 麻豆理论在线观看| 欧美日韩夜夜| 精品中文一区| 精品精品99| 日韩高清成人在线| 91久久久久| 麻豆理论在线观看| 国产欧美一区二区色老头| 五月天激情综合网| 国产成人精品一区二区三区在线| 亚洲欧洲专区| 国产韩日影视精品| 黄色aa久久| 精品久久福利| 国产激情综合| 日本国产亚洲| 亚洲欧洲免费| 亚洲一区二区三区高清| 在线天堂中文资源最新版| 国产日韩欧美三级| 日本中文字幕一区二区| 鲁大师成人一区二区三区| 香蕉精品久久| 国产在线看片免费视频在线观看| 久久福利在线| 91精品国产经典在线观看| 日韩和欧美的一区| 天海翼亚洲一区二区三区| 亚洲综合电影一区二区三区| 亚洲h色精品| 樱桃成人精品视频在线播放| 日韩午夜电影| 亚洲激情国产| 免费人成精品欧美精品 | 欧美亚洲免费|