zoukankan      html  css  js  c++  java
  • 会议

    1. 简单实现 通过刷新页面 

    后端
    	- 获取会议室
    	- 获取时间
    
    前端
    
    	- 循环时间
    	- 循环会议室

    from django.shortcuts import render
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
        room_list = models.MeetingRoom.objects.all()
    
    
        return render(request,"index.html",{"time_choice":time_choice,"room_list":room_list})
    views.py
    {% load staticfiles %}
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="{% static 'dist/js/jquery-3.1.1.js' %}">
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
    </head>
    <body>
    
    <h3 class="text-center">电话会议</h3>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody>
                {% for room in room_list %}
                    <tr>
                        <td>{{ room.title }}</td>
                        {% for time in time_choice %}
                            <td></td>
                        {% endfor %}
                    </tr>
                {%  endfor %}
            </tbody>
        </table>
    
    </div>
    
    
    
    
    
    <script>
        $(function () {
            getBookinfo()
        });
    
        function getBookinfo() {
            $.ajax({
            })
        }
    
    
    </script>
    
    </body>
    </html>
    html.html

    2. Ajax发送请求 接收数据 增加到表格里面   伪数据

    后端
    	- index视图
    		- 返回时间
    
    	- booking视图
    		- 自定义字典
    
    
    前端
    
    	- 循环时间列表
    	- 前端页面加载自动执行函数 发送Ajax请求 获取预定数据
    
    		    $(function () {
    		        getBookinfo()
    		    });
    
    		    function getBookinfo() {
    		        $.ajax({})
    		    };
    	- 获取到结果 循环生成tr 和td 追加到tbody 

    from django.shortcuts import render,HttpResponse
    from django.http import JsonResponse
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    
    def booking(request):
        res = {"status":True,"msg":None,"error":None}
    
        try:
            data = [
                [{"text":"天上人间"},{"text":"小伟"}],
                [{"text":"海天盛筵"},{"text":"小栋"}],
                [{"text":"犄角旮旯"},{"text":"小峰"}],
            ]
            res["msg"] = data
            return JsonResponse(res)
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
        return JsonResponse(res)
    Views.py
    {% load staticfiles %}
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
    </head>
    <body>
    
    <h3 class="text-center">电话会议</h3>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody id="table_body">
    
            </tbody>
        </table>
    
    </div>
    
    
    <script src="/static/dist/js/jquery-3.1.1.js"></script>
    <script>
    
        $(function () {
            getBookinfo()
        });
    
        function getBookinfo() {
            $.ajax({
                url:'/booking/',
                type:'GET',
                success:function (data) {
                    if(data.status){
                        $.each(data.msg,function (i,item) {
                            var tr = $("<tr>");
                            $.each(item,function (j,v) {
                                var td = $("<td>");
                                td.text(v.text);
                                tr.append(td)
                            });
                            $("#table_body").append(tr)
                        })
                    }else {
    
                    }
                }
            })
        }
    
    
    </script>
    
    </body>
    </html>
    index.html

    3. 后台数据每个表格里增加属性  房间id  时间id  自定义属性

    后端
    	- index视图
    		- 返回时间
    
    	- booking视图
    		- 自定义字典
    	        data = [
    	            [{"text":"天上人间"},{"text":"小伟","attrs":{"class":"chosen","room_id":1,"time_id":1}}],
    	            [{"text": "海天盛筵"},{"text": "小栋", "attrs": {"class":"chosen","room_id":1,"time_id":1}}],
    	            [{"text": "犄角旮旯"}, {"text": "小峰","attrs": {"class":"chosen","room_id":1,"time_id":1}}],
    	        ]	        
    
    
    前端
    
    	- 循环时间列表
    	- 前端页面加载自动执行函数 发送Ajax请求 获取预定数据
    
    		    $(function () {
    		        getBookinfo()
    		    });
    
    		    function getBookinfo() {
    		        $.ajax({})
    		    };
    	- 获取到结果 循环生成tr 和td td里面增加属性 追加到tbody 

    from django.shortcuts import render,HttpResponse
    from django.http import JsonResponse
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    
    def booking(request):
        res = {"status":True,"msg":None,"error":None}
    
        try:
    
    
            data = [
                [{"text":"天上人间","attrs":''},{"text":"小伟","attrs":{"class":"chosen","room_id":1,"time_id":1}}],
                [{"text": "海天盛筵","attrs":''},{"text": "小栋", "attrs": {"class":"chosen","room_id":1,"time_id":1}}],
                [{"text": "犄角旮旯","attrs":''},{"text": "小峰","attrs": {"class":"chosen","room_id":1,"time_id":1}}],
            ]
            res["msg"] = data
            return JsonResponse(res)
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
        return JsonResponse(res)
    Views.py
    {% load staticfiles %}
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
        <style>
            .chosen{
                background-color: #67b168;
            }
        </style>
    </head>
    <body>
    
    <h3 class="text-center">电话会议</h3>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody id="table_body">
    
            </tbody>
        </table>
    
    </div>
    
    
    <script src="/static/dist/js/jquery-3.1.1.js"></script>
    <script>
    
        $(function () {
            getBookinfo()
        });
    
        function getBookinfo() {
            $.ajax({
                url:'/booking/',
                type:'GET',
                success:function (data) {
                    if(data.status){
                        $.each(data.msg,function (i,item) {
                            var tr = $("<tr>");
                            $.each(item,function (j,v) {
                                var td = $("<td>");
                                td.text(v.text);
                                $.each(v.attrs,function (ak,av) {
                                    $(td).attr(ak,av)
                                });
                                tr.append(td)
                            });
                            $("#table_body").append(tr)
                        })
                    }else {
    
                    }
                }
            })
        }
    
    
    </script>
    
    </body>
    </html>
    index.html

    4.  没有关联用户和样式 预定信息还没生成

    from django.shortcuts import render,HttpResponse
    from django.http import JsonResponse
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    
    def booking(request):
        res = {"status":True,"msg":None,"error":None}
    
        try:
    
    
            
    
            room_list = models.MeetingRoom.objects.all()
            data = []
            for room in room_list:
                tr = []
                tr.append({"text":room.title,"attrs":''})
                for tm in models.Booking.time_choices:
                    td = {"text": '', "attrs": { "room_id": room.id, "time_id": tm[0]}}
                    tr.append(td)
                data.append(tr)
    
    
    
    
    
            room_list = models.MeetingRoom.objects.all()
            data = []
            for room in room_list:
                tr = []
                tr.append({"text":room.title,"attrs":''})
                for tm in models.Booking.time_choices:
                    td = {"text": '', "attrs": { "room_id": room.id, "time_id": tm[0]}}
                    tr.append(td)
                data.append(tr)
    
    
    
            res["msg"] = data
            return JsonResponse(res)
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
        return JsonResponse(res)
    Views.py
    {% load staticfiles %}
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
        <style>
            .chosen{
                background-color: #67b168;
            }
        </style>
    </head>
    <body>
    
    <h3 class="text-center">电话会议</h3>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody id="table_body">
    
            </tbody>
        </table>
    
    </div>
    
    
    <script src="/static/dist/js/jquery-3.1.1.js"></script>
    <script>
    
        $(function () {
            getBookinfo()
        });
    
        function getBookinfo() {
            $.ajax({
                url:'/booking/',
                type:'GET',
                success:function (data) {
                    if(data.status){
                        $.each(data.msg,function (i,item) {
                            var tr = $("<tr>");
                            $.each(item,function (j,v) {
                                var td = $("<td>");
                                td.text(v.text);
                                $.each(v.attrs,function (ak,av) {
                                    $(td).attr(ak,av)
                                });
                                tr.append(td)
                            });
                            $("#table_body").append(tr)
                        })
                    }else {
    
                    }
                }
            })
        }
    
    
    </script>
    
    </body>
    </html>
    index.html

    5. 在数据库中找到数据在前端显示

    from django.shortcuts import render,HttpResponse
    from django.http import JsonResponse
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    
    def booking(request):
        import datetime
    
        #创建数据
        # current_data = datetime.datetime.now()
        #
        # models.Booking.objects.create(user_id=1,room_id=1,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=2,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=3,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=4,booking_date=current_data,booking_time=12)
    
        choice_date = request.GET.get("choice_date")
        data = datetime.datetime.strptime(choice_date,"%Y-%m-%d").date()
    
    
        res = {"status":True,"msg":None,"error":None}
        try:
    
            #获取指定日期的预定信息
            booking_list = models.Booking.objects.filter(booking_date=data)
            print(booking_list)
            room_list = models.MeetingRoom.objects.all()
            data = []
            for room in room_list:
                tr = []
                tr.append({"text":room.title,"attrs":''})
    
                for tm in models.Booking.time_choices:
                    td = {"text": '', "attrs": {"room_id": room.id, "time_id": tm[0]}}
    
                    for bk in booking_list:
                        if bk.room_id == room.id and tm[0] == bk.booking_time:
                            td = {"text": bk.user.name, "attrs": {"room_id": room.id, "time_id": tm[0],"class":"chosen"}}
                    tr.append(td)
                data.append(tr)
    
    
    
            res["msg"] = data
            return JsonResponse(res)
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
        return JsonResponse(res)
    Views.py
    {% load staticfiles %}
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
        <style>
            .chosen{
                background-color: #67b168;
            }
        </style>
    </head>
    <body>
    
    <h3 class="text-center">电话会议</h3>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody id="table_body">
    
            </tbody>
        </table>
    
    </div>
    
    
    <script src="/static/dist/js/jquery-3.1.1.js"></script>
    <script>
    
        $(function () {
            getBookinfo()
        });
    
        function getBookinfo() {
            $.ajax({
                url:'/booking/',
                type:'GET',
                data:{"choice_date":'2017-12-11'},
                success:function (data) {
                    if(data.status){
                        $.each(data.msg,function (i,item) {
                            var tr = $("<tr>");
                            $.each(item,function (j,v) {
                                var td = $("<td>");
                                td.text(v.text);
                                $.each(v.attrs,function (ak,av) {
                                    $(td).attr(ak,av)
                                });
                                tr.append(td)
                            });
                            $("#table_body").append(tr)
                        })
                    }else {
    
                    }
                }
            })
        }
    
    
    </script>
    
    </body>
    </html>
    index.html
    from django.shortcuts import render,HttpResponse
    from django.http import JsonResponse
    from app01 import models
    # Create your views here.
    
    
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    
    def booking(request):
        import datetime
    
        #创建数据
        # current_data = datetime.datetime.now()
        #
        # models.Booking.objects.create(user_id=1,room_id=1,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=2,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=3,booking_date=current_data,booking_time=12)
        # models.Booking.objects.create(user_id=1,room_id=4,booking_date=current_data,booking_time=12)
    
        choice_date = request.GET.get("choice_date")
        data = datetime.datetime.strptime(choice_date,"%Y-%m-%d").date()
    
    
        res = {"status":True,"msg":None,"error":None}
        try:
    
            #获取指定日期的预定信息
            booking_list = models.Booking.objects.filter(booking_date=data)
            booking_dict = {}
            for item in booking_list:
                if item.room_id not in booking_dict:
                    booking_dict[item.room_id] = {item.booking_time: {'name': item.user.name, 'id': item.user.id}}
                else:
                    if item.booking_time not in booking_dict[item.room_id]:
                        booking_dict[item.room_id][item.booking_time] = {'name': item.user.name, 'id': item.user.id}
    
    
    
    
    
            room_list = models.MeetingRoom.objects.all()
            data = []
            for room in room_list:
                tr = []
                tr.append({"text":room.title,"attrs":''})
    
                for tm in models.Booking.time_choices:
                    if room.id in booking_dict and tm[0] in booking_dict[room.id]:
                        td = {"text": booking_dict[room.id][tm[0]]["name"], "attrs": {"room_id": room.id, "time_id": tm[0], "class": "chosen"}}
                    else:
                        td = {"text": '', "attrs": {"room_id": room.id, "time_id": tm[0]}}
    
                    tr.append(td)
                data.append(tr)
    
    
    
            res["msg"] = data
            return JsonResponse(res)
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
        return JsonResponse(res)
    Views.py

    6. 后端生成数据完成  其它用户会增加一个funk=True的属性 

    from django.shortcuts import render,HttpResponse
    from app01 import models
    from django.http import JsonResponse
    
    
    # Create your views here.
    
    def login(request):
    
    
        if request.is_ajax():
    
            username=request.POST.get("username")
            password=request.POST.get("password")
    
            login_response={"is_login":False,"error_msg":None}
    
            user = models.UserInfo.objects.filter(name=username,password=password).first()
            if user:
                login_response["is_login"]=True
                request.session["userinfo"]={"id":user.id}
    
            else:
                login_response["error_msg"] = "username or password error"
    
    
            import json
    
            return HttpResponse(json.dumps(login_response))
    
    
        return render(request,"login.html")
    
    
    def index(request):
    
        time_choice = models.Booking.time_choices
    
        return render(request,"index.html",{"time_choice":time_choice})
    
    
    def booking(request):
    
        import datetime
        res = {"status":True,"msg":None,"error":None}
    
        choice_date = request.GET.get("choice_date")
    
        data = datetime.datetime.strptime(choice_date,"%Y-%m-%d").date()
    
        try:
            booking_list = models.Booking.objects.filter(booking_date=data)
    
            booking_dict = {}
            for item in booking_list:
                if item.room_id not in booking_dict:
                    booking_dict[item.room_id] = {item.booking_time: {'name': item.user.name, 'id': item.user.id}}
                else:
                    if item.booking_time not in booking_dict[item.room_id]:
                        booking_dict[item.room_id][item.booking_time] = {'name': item.user.name, 'id': item.user.id}
    
    
            room_list = models.MeetingRoom.objects.all()
            data = []
            for room in room_list:
                tr = []
                tr.append({"text":room.title,"attrs":''})
                for tm in models.Booking.time_choices:
                    if room.id in booking_dict and tm[0] in booking_dict[room.id]:
    
                        #用户的信息为字典格式
                        user_info = booking_dict[room.id][tm[0]]
                        if request.session.get("userinfo")["id"] == user_info["id"]:
                            td = {"text": booking_dict[room.id][tm[0]]["name"], "attrs": {"room_id": room.id, "time_id": tm[0], "class": "chosen"}}
                        else:
                            td = {"text": booking_dict[room.id][tm[0]]["name"],
                                  "attrs": {"room_id": room.id, "time_id": tm[0], "class": "chosen","funk":True}}
                    else:
                        td = {"text": '', "attrs": {"room_id": room.id, "time_id": tm[0]}}
    
                    tr.append(td)
                data.append(tr)
    
    
    
    
            res["msg"] = data
            return JsonResponse(res)
    
        except Exception as e:
            res["status"] = False
            res["error"] = str(e)
        print(res)
    
        return JsonResponse(res)
    Views.py
    {% load staticfiles %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <link rel="stylesheet" href="{% static 'dist/css/bootstrap.css' %}">
        <link rel="stylesheet" href="{% static 'dist/js/bootstrap.js' %}">
        <style>
            .chosen{
                background-color: red;
            }
        </style>
    
    
    </head>
    <body>
    
    <div class="container">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>会议室</th>
                    {% for time in time_choice %}
                        <th>{{ time.1 }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody id="Tbody">
    
            </tbody>
        </table>
    
    </div>
    
    
    <script src="/static/dist/js/jquery-3.1.1.js"></script>
    
    <script>
        $(function () {
            gitmetting()
        });
    
        function gitmetting() {
             $.ajax({
                url:'/booking/',
                type:'GET',
                data:{"choice_date":"2017-12-11"},
                success:function (data) {
                    if(data.status){
    
                        $.each(data.msg,function (i,g) {
                            var tr = $('<tr>');
                            $.each(g,function (j,v) {
                                var td = $("<td>");
                                td.text(v.text);
                                $.each(v.attrs,function (r,j) {
                                   td.attr(r,j);
                                });
    
                                tr.append(td)
                            });
                            $("#Tbody").append(tr)
                        })
    
    
    
    
    
                    }else {
                        console.log(data.error)
                    }
                }
            })
        }
    
    
    </script>
    
    
    
    
    </body>
    </html>
    index.html
  • 相关阅读:
    DHCP服务的配置(linux)
    LVM逻辑卷
    python的元素列表
    DOS和DDOS你知道多少?
    DOS与DDOS攻击的原理与防范之法
    常见HTTP状态代码,http报错代码翻译
    TCP和UDP优缺点
    DLL何时需共享内存管理器
    Delphi 指针大全
    Delphi编写DLL(以及静态和动态方式调用)
  • 原文地址:https://www.cnblogs.com/golangav/p/8023061.html
Copyright © 2011-2022 走看看