zoukankan      html  css  js  c++  java
  • 登录注册

    登录注册

    1.settings.py配置

    INSTALLED_APPS = [
        'rest_framework',
        'corsheaders',
        "app03",
    ]
    
    MIDDLEWARE = [
        'corsheaders.middleware.CorsMiddleware',
        'django.middleware.common.CommonMiddleware',
    ]
    
    CORS_ORIGIN_ALLOW_ALL=True
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME':'day42',
            'HOST':'localhost',
            'PORT':3308,
            'USER':'root',
            'PASSWORD':'root'
        }
    }
    settings.py

    2.主路由配置urls.py

    from django.contrib import admin
    from django.urls import path,include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
    
        path("app03/",include("app03.urls")),
    ]
    urls.py

    3.子路由配置app03/urls.py

    from django.urls import path,include
    from .import views
    urlpatterns = [
        path("user/",views.UserView.as_view()),
        path("login/",views.LoginView.as_view()),
    
    ]
    app03/urls.py

    4.配置表models.py

    from django.db import models
    
    # Create your models here.
    #用户表
    class User(models.Model):
        username=models.CharField(max_length=32)
        password=models.CharField(max_length=50)
        oauth=models.BooleanField(default=False)
    
        class Meta:
            db_table="user03"
    app03/models.py

    5.配置视图app03/views.py

    from rest_framework.response import Response
    from rest_framework.views import APIView
    from .models import *
    
    
    #用户注册
    class UserView(APIView):
    
        def post(self,request):
            username=request.POST.get("username","").strip()
            password=request.POST.get("password","").strip()
            oauth=request.POST.get("oauth",0)
            print(username)
            print(password)
            print(oauth)
            data={
                "username":username,
                "password":password,
                "oauth":oauth
            }
            obj=User.objects.create(**data)
            if obj:
                return Response({'code':1000,"msg":"添加成功"})
            return Response({'code': 1001, "msg": "添加失败"})
    #用户登录
    class LoginView(APIView):
        def post(self,request):
            username=request.POST.get("username","").strip()
            password=request.POST.get("password","").strip()
    
            obj=User.objects.filter(username=username,password=password).first()
            if obj:
                return Response({"code":1000,"msg":"登录成功","data":obj.oauth})
            return Response({"code":1001,"msg":"登录失败"})
    app03/views.py

    VUE 配置

    1.配置axios  main.js

    import axios from "axios";
    
    // axios.defaults.baseURL='http://127.0.0.1:8000'
    Vue.prototype.axios=axios;
    main.js

    2.配置index.js

    import Adduser03 from '@/components/Adduser03'
    import Login03 from '@/components/Login03'
    
    
    
    Vue.use(Router)
    
    export default new Router({
        routes: [
    {
          path: '/adduser03',
          name: 'Adduser03',
          component: Adduser03
        },
        {
          path: '/login03',
          name: 'Login03',
          component: Login03
        },
      ]
    })
    index.js

    3.注册页面Adduser03.vue

    <template>
        <div>
            <h1>添加用户信息</h1>
            <table >
                <tr>
                    <td>用户名称 <input type="text" v-model="username"></td>
                    <td>用户密码 <input type="password" v-model="password"></td>
                    <td>用户状态 
                        <select v-model="oauth">
                            <option value="1">有效</option>
                            <option value="0">无效</option>
                        </select>
                    </td>
                    <td><button @click="sub">添加</button></td>
                </tr>
                
      
            </table>
            
        </div>
    </template>
    
    
    <script>
    export default {
        data(){
            return{
                username:"",
                password:"",
                oauth:0
            }
        },
        methods:{
            sub:function(){
                let formdata=new FormData();
                formdata.append("username",this.username);
                formdata.append("password",this.password);
                formdata.append("oauth",this.oauth);
    
                this.axios({
                    url:"http://127.0.0.1:8000/app03/user/",
                    method:"post",
                    data:formdata
                }).then(res=>{
                    if(res.data.code==1000){
                        //将分数添加到本地
                        // localStorage.setItem("score",res.data.data);
                        //跳转
                        this.$router.push({
                            name:"Login03"
                        })
                    }else{
                        alert(res.data.msg)
                    }
                    
                })
    
            }
        }
    }
    </script>
    
    
    
    <style scoped>
    table{
        margin: 0 auto;
    }
    </style>
    Adduse03.vue

    4.登录页面Login03.vue

    <template>
        <div>
            <h1>登录页面</h1>
            用户名:<input type="text" v-model="username">
            用户密码:<input type="password" v-model="password">
            <button @click="sub">登录</button>
        </div>
    </template>
    
    <script>
    export default {
        data(){
            return{
                username:"",
                password:""
            }
        },
        methods:{
            sub:function(){
                let formdata=new FormData();
                formdata.append("username",this.username);
                formdata.append("password",this.password);
                this.axios({
                    url:"http://127.0.0.1:8000/app03/login/",
                    method:"post",
                    data:formdata
                }).then(res=>{
                    if(res.data.code==1000){
                        localStorage.setItem("oauth",res.data.data)
                        alert(res.data.msg)
                    }else{
                        alert(res.data.msg)
                    }
                })
            }
        }
    }
    </script>
    Login03.vue
  • 相关阅读:
    2019 年百度之星—初赛一 B题 Game
    蒲公英
    集训队8月17日
    CodeForces 550E Brackets in Implications 推理
    11076: 小P的集合 位运算
    树状数组区间修改版本模板
    Contest1692
    POJ
    树状数组进阶-区间修改+区间查询
    具体数学-第二章-和式
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13868264.html
Copyright © 2011-2022 走看看