zoukankan      html  css  js  c++  java
  • python-day73--django课上项目01

    from django.db import models
    
    # Create your models here.
    
    class Book(models.Model):
        name=models.CharField(max_length=32)
        pubDate=models.DateField()
        price=models.DecimalField(max_digits=5,decimal_places=2)
        publish=models.ForeignKey('Publish')
        author=models.ManyToManyField('Author')
    
    
    
    
    class Publish(models.Model):
        name=models.CharField(max_length=32)
        pubdetail=models.OneToOneField('Pubdetail')
    
    
    class Pubdetail(models.Model):
        add=models.CharField(max_length=32)
        content=models.CharField(max_length=32)
    
    
    class Author(models.Model):
        name=models.CharField(max_length=32)
        authdetail=models.OneToOneField('Authordetail')
    
    
    class Authordetail(models.Model):
        sex=models.CharField(max_length=32)
        tel=models.IntegerField()
        addr=models.CharField(max_length=32)
    
    
    class User(models.Model):
        name=models.CharField(max_length=32)
        password=models.CharField(max_length=32)
    models.py
    from django.shortcuts import render,redirect
    from app01 import models
    from django.contrib import auth
    # Create your views here.
    from django.contrib.auth.models import User
    from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
    from django.contrib.auth import logout
    def login(request):
        s=''
        if request.method=='POST':
    
            name=request.POST.get('name')
            pwd=request.POST.get('password')
    
            # res=models.User.objects.filter(name=name,password=pwd)
            # if res:
            #cookie代码实现
            #     ret=redirect('/shujichaxun/')
            #     ret.set_cookie('login','asd',10)
            #     return ret
    
    
            #auth代码实现
            res=auth.authenticate(username=name,password=pwd)
            if res:
                print('---------------------',request.user.__dict__,type(request.user))
                auth.login(request,res)
                return redirect('/shujichaxun/')
    
    
                #session实现代码
                # request.session['asd']=True
                # return redirect('/shujichaxun/')
            s='用户名或密码错误'
        return render(request,'登录校验.html',{'s':s})
    
    def zhuce(request):
        if request.method=='POST':
            name=request.POST.get('name')
            pwd=request.POST.get('password')
            if len(name)>0 and len(pwd)>0 :
                #注册方式1: 自建user表
                # user_obj=models.User.objects.create(name=name,password=pwd)
    
                #用auth模块实现,用django自带的user表
                user=User.objects.create_user(username=name,password=pwd)
                return redirect('/middle/')
    
        return render(request,'zhuce.html')
    
    def xiugaimima(request):
        s=''
        if request.method=='POST':
            old_pwd=request.POST.get('oldpwd')
            new_pwd=request.POST.get('newpwd')
            aga_pwd=request.POST.get('agapwd')
            username=request.user
            user=User.objects.get(username=username)
    
            if user.check_password(old_pwd) and new_pwd==aga_pwd:
                user.set_password(new_pwd)
                user.save()
                return redirect('/login/')
            s='原密码不正确或新密码不一致'
    
        return render(request,'xiugaimima.html',{'s':s})
    
    def zhuxiao(request):
    
        logout(request)
        return redirect('/login/')
    
    def xieyi(request):
        return render(request,'xieyi.html')
    
    def middle(request):
        return render(request,'middle.html')
    
    def shujichaxun(request):
        # if request.user.is_authenticated():
        #     import datetime,random
        # #     Booklist = []
        # #     for i in range(100):
        # #          Booklist.append(models.Book(name="book" + str(i),pubDate=datetime.datetime.now(),price=20 + i,publish_id=2))
        # #     models.Book.objects.bulk_create(Booklist)
        # #
            book_list=models.Book.objects.all()
            paginator=Paginator(book_list,7)
    
            n=paginator.page_range
            num=int(request.GET.get("n",1))  #因为get 得到的是字符串
            book_list=paginator.page(num)
    
            # return render(request,"chaxun.html",{"book_list":book_list,"page_range":page_range,"num":int(num)})
            return render(request,"chaxun.html",{"book_list":book_list,'n':n,'num':num})
    
    
    
    
        #cookie实现代码
        # res=request.COOKIES.get('login')
        # if res=='asd':
        # infoDict=models.Book.objects.all()
        # return render(request,'chaxun.html',{'infoDict':infoDict})
        # return redirect('/login/')
    
        # auth模块实现
        # if request.user.is_authenticated():
        #     infoDict=models.Book.objects.all()
        #     return render(request,'chaxun.html',{'infoDict':infoDict})
        # return redirect('/login/')
    
        #session实现代码
        # res=request.session.get('asd',None)
        # if res:
        #     infoDict=models.Book.objects.all()
        #     return render(request,'chaxun.html',{'infoDict':infoDict})
        # return redirect('/login/')
    
    def shujishanchu(request,id):
        #cookie实现代码
        # res=request.COOKIES.get('login')
        # if res=='asd':
        #     book_obj=models.Book.objects.get(id=id)
        #     auth_list=book_obj.author.all()
        #     book_obj.author.remove(*auth_list)
        #     book_obj.delete()
        #
        #     return redirect('/shujichaxun/')
        # return redirect('/login/')
    
        #auth模块实现
        if request.user.is_authenticated():
            book_obj=models.Book.objects.get(id=id)
            auth_list=book_obj.author.all()
            book_obj.author.remove(*auth_list)
            book_obj.delete()
            return redirect('/shujichaxun/')
        return redirect('/login/')
    
    
    def shujitianjia(request):
        #cookie代码实现
        # res=request.COOKIES.get('login')
        # if res=='asd':
    
        #auth模块实现
        if request.user.is_authenticated():
            if request.method=='POST':
                name=request.POST.get('name')
                auth=request.POST.getlist('aut')
                date=request.POST.get('date')
                pub=request.POST.get('pub')
                price=request.POST.get('price')
                pub_id=models.Publish.objects.filter(name=pub)[0].id
                # pub_obj=models.Publish.objects.filter(name=pub)[0]
    
                book_obj=models.Book.objects.create(name=name,pubDate=date,price=price,publish_id=pub_id)
                # book_obj=models.Book.objects.create(name=name,pubDate=date,price=price,publish=pub_obj)
                auth_l=[]
                for i in auth:
                    auth_l.append(models.Author.objects.get(name=i))
                book_obj.author.add(*auth_l)
                return redirect('/shujichaxun/')
    
            authList=models.Author.objects.all()
            pubList=models.Publish.objects.all()
            return render(request,'tianjia.html',{'authList':authList,'pubList':pubList})
        return redirect('/login/')
    
    
    def shujibianji(request):
        #cookie代码实现
        # res=request.COOKIES.get('login')
        # if res=='asd':
    
    
        #auth模块实现
        if request.user.is_authenticated():
            if request.method=="POST":
                id=request.POST.get('id')
                name=request.POST.get('name')
                auth=request.POST.getlist('aut')
                l=[]
                for i in auth:
                    l.append(models.Author.objects.get(name=i))
                pubdate=request.POST.get('date')
                publish=request.POST.get('pub')
                publish_id=models.Publish.objects.get(name=publish).id
                price=request.POST.get('price')
                book_obj=models.Book.objects.filter(id=id)
                book_obj.update(name=name,pubDate=pubdate,price=price,publish_id=publish_id)
                book_obj[0].author.clear()
                book_obj[0].author.add(*l)
                return redirect('/shujichaxun/')
    
            id=request.GET.get('id')
            name=models.Book.objects.get(id=id).name
            pubdate=models.Book.objects.get(id=id).pubDate
            price=models.Book.objects.get(id=id).price
            publish_obj=models.Book.objects.get(id=id).publish
            publish=models.Publish.objects.all()
            auth=models.Book.objects.get(id=id).author.all()
            authlist=models.Author.objects.all()
            return render(request,'bianji.html',{'id':id,'name':name,'pubdate':pubdate,'price':price,'publish':publish,'auth':auth,'authlist':authlist,'publish_obj':publish_obj})
        return redirect('/login/')
    
    
    
    def zuozhechaxun(request):
        #cookie 实现代码
        # res=request.COOKIES.get('login')
        # if res=='asd':
        #     authlist=models.Author.objects.all()
        #     return render(request,'zuozhe.html',{'authlist':authlist})
        # return redirect('/login/')
    
    
        #auth模块实现
        if request.user.is_authenticated():
            authlist=models.Author.objects.all()
            return render(request,'zuozhe.html',{'authlist':authlist})
        return redirect('/login/')
    
    
    
        #session 实现代码
        # res=request.session['asd']
        # if res:
        #     authlist=models.Author.objects.all()
        #     del request.session['asd']
        #     return render(request,'zuozhe.html',{'authlist':authlist})
        # return redirect('/login/')
    
    
    
    def chubanshechaxun(request):
        #cookie 实现代码
        # res=request.COOKIES.get('login')
        # if res=='asd':
        #     publish=models.Publish.objects.all()
        #     return render(request,'chubanshe.html',{'publish':publish})
        # return redirect('/login/')
    
    
        #auth模块实现
        if request.user.is_authenticated():
            publish=models.Publish.objects.all()
            return render(request,'chubanshe.html',{'publish':publish})
        return redirect('/login/')
    
    
    def test(request):
        name='egon'
        age=73
        return  render(request,'test.html',{'name':name,'age':age})
    views.py
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
        <style>
            .ccc {
                margin-top: 70px;
            }
    
            .clc {
                height: 30px;
                margin-left: -15px;
                text-align: center;
                line-height: 30px;
                border-radius: 5px;
            }
    
            .menu {
                margin-top: 7px;
    
            }
    
            .panel {
                height: 580px;
            }
    
            .c2 {
                position: relative;
                left: 200px;
                top: 400px;
    
    {#            border: 1px solid red;#}
    
            }
    
            .ccc .row .sidebar {
                padding-top: 20px;
                height: 600px;
                background-color: #f5f5f5;
                margin-top: -20px;
    
            }
            table{
                margin-top: -60px;
            }
        </style>
    </head>
    <body>
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
                        aria-expanded="false" aria-controls="navbar">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="">图书管理系统</a>
            </div>
            <div id="navbar" class="navbar-collapse collapse">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="">设置</a></li>
                    <li><a href="">帮助</a></li>
                    <li><a href="/xiugaimima/">修改密码</a></li>
                    <li><a href="/zhuxiao/">注销</a></li>
                    <li><a href="">退出</a></li>
                </ul>
                <form class="navbar-form navbar-right">
                    <input type="text" class="form-control" placeholder="搜索...">
                </form>
            </div>
        </div>
    </nav>
    <div class="container-fluid ccc">
        <div class="row">
            <div class="col-sm-3 col-md-2 sidebar">
                <div class="menu">
                    <a href="/shujichaxun/" style="text-decoration: none"><div class="head bg-primary clc" id="clc1">书 籍 管 理</div></a>
                    <ul class="nav nav-sidebar hide" id="clc4">
                        <li class=""><a href="">Overview <span
                                class="sr-only">(current)</span></a>
                        </li>
                        <li><a href="">Reports</a></li>
                        <li><a href="">Analytics</a></li>
                        <li><a href="">Export</a></li>
                    </ul>
                </div>
                <div class="menu">
                    <a href="/zuozhechaxun/" style="text-decoration: none"><div class="head bg-primary clc" id="clc2">作 者 管 理</div></a>
    
                    <ul class="nav nav-sidebar hide" id="clc5">
                        <li><a href="">Nav item</a></li>
                        <li><a href="">Nav item again</a></li>
                        <li><a href="">One more nav</a></li>
                        <li><a href="">Another nav item</a></li>
                        <li><a href="">More navigation</a></li>
                    </ul>
                </div>
                <div class="menu">
                    <a href="/chubanshechaxun/" style="text-decoration: none"><div class="head bg-primary clc" id="clc3">出版社管理</div></a>
    
                    <ul class="nav nav-sidebar hide" id="clc6">
                        <li><a href="">Nav item again</a></li>
                        <li><a href="">One more nav</a></li>
                        <li><a href="">Another nav item</a></li>
                    </ul>
                </div>
            </div>
    
            {% block tt %}
            <div class="col-sm-9 col-md-10 main">
                <div class="panel panel-primary">
                    <div class="panel-heading">书籍信息</div>
                    <div class="panel-body">
                        <!-- Button trigger modal -->
                        <a href="/shujitianjia/"><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
                            添加
                        </button></a>
    
                        <table class="table table-hover">
    {#                    <tr>#}
                            <thead>
                            <th>序号</th>
                            <th>书名</th>
                            <th>作者</th>
                            <th>出版日期</th>
                            <th>出版社</th>
                            <th>价钱</th>
    
    
                            </thead>
    {#                    </tr>#}
                        {% block tbody %}
    
                        {% endblock tbody %}
                        {% endblock tt %}
    {#                    <div class="row c2">#}
    {#                        <nav aria-label="Page navigation " class="pull-right c5">#}
    {#                            <ul class="pagination">#}
    {#                                <li>#}
    {#                                    <a href="#" aria-label="Previous">#}
    {#                                        <span aria-hidden="true">&laquo;</span>#}
    {#                                    </a>#}
    {#                                </li>#}
    {#                                <li><a href="#">1</a></li>#}
    {#                                <li><a href="#">2</a></li>#}
    {#                                <li><a href="#">3</a></li>#}
    {#                                <li><a href="#">4</a></li>#}
    {#                                <li><a href="#">5</a></li>#}
    {#                                <li>#}
    {#                                    <a href="#" aria-label="Next">#}
    {#                                        <span aria-hidden="true">&raquo;</span>#}
    {#                                    </a>#}
    {#                                </li>#}
    {#                            </ul>#}
    {#                        </nav>#}
    {#                    </div>#}
                        </table>
                    </div>
                </div>
            </div>
        </div>
    
        <div class="row">
            <div class="col-md-6 col-md-offset-3" style="margin-top: -40px">
                <hr/>
                <div style="text-align: center">
                    <a href="">关于我们 |</a>
                    <a href="">联系我们 |</a>
                    <a href="">意见与反馈 |</a>
                    <a href="">友情链接 |</a>
                    <a href="">公告</a>
    
                    <div>
                        <div style="font-size: 13px">
                            版权所有:  Cool
                        </div>
                    </div>
                </div>
    
    
            </div>
        </div>
    </div>
    <script>
    
    {#    $('.clc').on('click', function () {#}
    {#        $(this).parent().siblings().children('ul').addClass('hide');#}
    {#        $(this).next().toggleClass('hide');#}
    {#    })#}
    
    
    </script>
    </body>
    </html>
    base.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
            <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
    </head>
    <body>
    <div class="container">
        <div class="row col-md-4 col-md-offset-4" style="margin-top: 100px">
                    {% block form %}
                    {% endblock form %}
        </div>
        </div>
    
    </body>
    </html>
    base2.html
    {% extends 'base2.html' %}
    {% block form %}
        <form action="/shujibianji/" method="post">
            {% csrf_token %}
            <input type="hidden" name="id" value="{{ id }}"/>
    
            <div class="form-group">
                <label for="usernaem">书名</label>
                <input type="text" class="form-control item" id="usernaem" name="name" value="{{ name }}">
            </div>
    
            <div class="form-group">
                <label for="age">作者</label>
                <select name="aut" class="form-control item" id="age" multiple>
                    {% for aut in authlist %}
    
                        {% if aut in auth %}
                            <option selected value="{{ aut.name }}">{{ aut.name }}</option>
                        {% else %}
                            <option value="{{ aut.name }}">{{ aut.name }}</option>
                        {% endif %}
                    {% endfor %}
                </select>
            </div>
            <div class="form-group">
                <label for="gender">出版时间</label>
                <input type="date" class="form-control item" id="gender" name="date" value="{{ pubdate|date:'Y-m-d' }}">
            </div>
            <div class="form-group">
                <label for="publish">出版社</label>
                <select name="pub" class="form-control item" id="publish">
                    {% for pub in publish %}
                        {% if pub == publish_obj %}
                        <option selected value="{{ pub.name }}">{{ pub.name }}</option>
                        {% else %}
                        <option value="{{ pub.name }}">{{ pub.name }}</option>
                        {% endif %}
                    {% endfor %}
                </select>
            </div>
            <div class="form-group">
                <label for="gender1">价格</label>
                <input type="text" class="form-control item" id="gender1" name="price" value="{{ price }}">
            </div>
            <div class="pull-right"><a href="/shujichaxun/">
                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
            </a>
                <input type="submit" value="提交" class="btn btn-primary"/>
    
            </div>
        </form>
    {% endblock form %}
    bianji.html
    {% extends "base.html" %}
    {% block tbody %}
        <tbody>
    
        {% for book in book_list %}
            <tr>
                <td>{{ forloop.counter }}</td>
                <td>{{ book.name }}</td>
                <td>{% for item in book.author.all %}
                    /{{ item.name }}/
                {% endfor %}
                </td>
                <td>{{ book.pubDate|date:'Y-m-d' }}</td>
                <td>{{ book.publish.name }}</td>
                <td>{{ book.price }}</td>
                <td>
                    <div class="pull-left">
                        <a href="/shujishanchu/{{ book.id }}">
                            <button class="btn btn-danger">删除</button>
                        </a>
                    </div>
                    <a href="/shujibianji?id={{ book.id }}">
                        <button class="btn btn-success" style="margin-left: 5px">编辑</button>
                    </a>
                </td>
    
            </tr>
        {% endfor %}
    
        <div class="row c2">
            <nav aria-label="Page navigation">
                <ul class="pagination">
    
    
                    {% if book_list.has_previous %}
                        <li><a href="/shujichaxun?n={{ book_list.previous_page_number }}" aria-label="Previous">
                            <span aria-hidden="true">&laquo;</span>
                        </a></li>
                    {% else %}
                        <li class="disabled"><a href="" aria-label="Previous">
                            <span aria-hidden="true">&laquo;</span>
                        </a></li>
    
                    {% endif %}
    
    
                    {% for i in n %}
                        {% if num == i %}
                            <li class="active"><a href="/shujichaxun?n={{ i }}">{{ i }}</a></li>
                        {% else %}
                            <li><a href="/shujichaxun?n={{ i }}">{{ i }}</a></li>
                        {% endif %}
                    {% endfor %}
    
                    {% if book_list.has_next %}
                        <li><a href="/shujichaxun?n={{ book_list.next_page_number }}#" aria-label="Next">
                            <span aria-hidden="true">&raquo;</span>
                        </a></li>
    
                    {% else %}
                        <li class="disabled">
                            <a href="" aria-label="Next">
                                <span aria-hidden="true">&raquo;</span>
                            </a>
                        </li>
                    {% endif %}
    
                </ul>
            </nav>
        </div>
    
    
    
    {% endblock tbody %}
    chaxun.html
    {% extends 'base.html'%}
    {% block tt %}
    <div class="col-sm-9 col-md-10 main">
                <div class="panel panel-primary">
                    <div class="panel-heading">出版社信息</div>
                    <div class="panel-body">
                        <!-- Button trigger modal -->
                        <a href="/chubanshetianjia/"><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
                            添加
                        </button></a>
    
                        <table class="table table-hover">
    {#                    <tr>#}
                            <thead>
                            <th>序号</th>
                            <th>社名</th>
                            <th>地址</th>
                            <th>详情</th>
                            </thead>
    <tbody>
        {% for pub in publish %}
            <tr>
                <td>{{ forloop.counter }}</td>
                <td>{{ pub.name }}</td>
                <td>{{ pub.pubdetail.add }}</td>
                <td>{{ pub.pubdetail.content }}</td>
    
                <td>
                    <div class="pull-left">
                    <a href="/chubansheshanchu/{{ pub.id }}">
                        <button class="btn btn-danger" >删除</button>
                    </a>
                    </div>
                    <a href="/chubanshebianji/?id={{ pub.id }}">
                        <button class="btn btn-success" style="margin-left: 5px">编辑</button>
                    </a>
                </td>
            </tr>
            </tbody>
        {% endfor %}
    {% endblock tt %}
    chubanshe.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="Refresh" content="3;URL=/login/">
    {#    <meta http-equiv="X-UA-Compatible" content="IE=edge">#}
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
            <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
            <style>
            body {
                background-color: #cccccc;
            }
    
            .container {
                margin-top: 150px;
    
            }
    
        </style>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-4 col-md-offset-4">
                    <h4>注册成功,将跳转到登陆页面<a href="/login/">点我直接跳转</a></h4>
                </div>
            </div>
        </div>
    </body>
    </html>
    middle.html
    {% extends 'base2.html' %}
    {% block form %}
        <form action="/shujitianjia/" method="post">
            {% csrf_token %}
            <div class="form-group">
                <label for="usernaem">书名</label>
                <input type="text" class="form-control item"  id="usernaem" name="name" placeholder="name">
            </div>
    
            <div class="form-group">
                <label for="age">作者</label>
                <select name="aut" class="form-control item" id="age" multiple>
                    {% for aut in authList %}
                        <option value="{{ aut.name }}">{{ aut.name }}</option>
                    {% endfor %}
                </select>
            </div>
            <div class="form-group">
                <label for="gender">出版时间</label>
                <input type="date" class="form-control item" id="gender" name="date">
            </div>
                    <div class="form-group">
                <label for="publish">出版社</label>
                <select name="pub" class="form-control item" id="publish">
                    {% for pub in pubList %}
                        <option value="{{ pub.name }}">{{ pub.name }}</option>
                    {% endfor %}
                </select>
            </div>
            <div class="form-group">
                <label for="gender1">价格</label>
                <input type="text" class="form-control item" id="gender1" name="price" placeholder="price">
            </div>
            <div class="pull-right"><a href="/shujichaxun/"><button type="button" class="btn btn-default" data-dismiss="modal">取消</button></a>
            <input type="submit" value="提交" class="btn btn-primary"/>
            </div>
        </form>
    {% endblock form %}
    tianjia.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
    </head>
    <body>
    <h4>知道啥协议啊  ,你就同意...</h4>
    </body>
    </html>
    xieyi.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
        <style>
            body {
                background-color: #cccccc;
            }
    
            .container {
                margin-top: 150px;
    
            }
    
        </style>
    </head>
    <body>
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
    
                <form class="form-horizontal" action="/xiugaimima/" method="post">
                    {% csrf_token %}
                    <h3 style="text-align: center">修改密码</h3>
                    <div class="form-group" style="margin-top: 30px">
                        <label for="inputEmail3" class="col-sm-3 control-label">原密码</label>
    
                        <div class="col-sm-9" style="margin-left: -20px">
                            <input type="password" class="form-control" id="inputEmail3" placeholder="原密码" name="oldpwd">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="inputPassword3" class="col-sm-3 control-label">新密码</label>
    
                        <div class="col-sm-9" style="margin-left: -20px">
                            <input type="password" class="form-control" id="inputPassword3" placeholder="新密码" name="newpwd">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="inputPassword4" class="col-sm-3 control-label">确认密码</label>
    
                        <div class="col-sm-9" style="margin-left: -20px">
                            <input type="password" class="form-control" id="inputPassword4" placeholder="确认密码"
                                   name="agapwd">
                        </div>
                    </div>
                    <div class="col-sm-10 col-sm-offset-2" style="color: red">{{ s }}</div>
                    <div class="form-group" style="margin-left: -40px">
                        <div class="col-sm-offset-3 col-sm-9">
                            <button type="submit" class="btn btn-primary">提交</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    </body>
    </html>
    xiugaimima.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
            <style>
            body {
                background-color: #cccccc;
            }
    
            .container {
                margin-top: 150px;
    
            }
    
        </style>
    </head>
    <body>
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
    
                <form action="/zhuce/" method="post">
                    {% csrf_token %}
                    <h3 style="text-align: center">请注册</h3>
                    <div class="form-group">
                        <label for="exampleInputEmail1">用户名</label>
                        <input type="text" class="form-control" id="exampleInputEmail1" placeholder="用户名" name="name">
                    </div>
                    <div class="form-group">
                        <label for="exampleInputPassword1">密码</label>
                        <input type="password" class="form-control" id="exampleInputPassword1" placeholder="密码" name="password">
                    </div>
                    <div class="checkbox">
                        <label>
                            <input type="checkbox" id="i1"> 我同意 <a href="/xieyi/">Cool公司注册协议</a>
                        </label>
                    </div>
                    <button type="submit" class="btn btn-primary disabled" id="i2">注册</button>
                </form>
            </div>
        </div>
    </div>
    
    <script>
    {#  方式一  #}
    $('#i1').on('change',function(){                  {#  事件是 click 也可以   #}
                $("#i2").toggleClass("disabled");
            })
    
    {#  方式二 #}
    {#$('#aa').on('change',function(){#}
    {#            $("#btn").prop('disabled',!$(this).prop('checked'))#}
    {#        })#}
    </script>
    </body>
    </html>
    zhuce.html
    {% extends 'base.html'%}
    {% block tt %}
    <div class="col-sm-9 col-md-10 main">
                <div class="panel panel-primary">
                    <div class="panel-heading">作者信息</div>
                    <div class="panel-body">
                        <!-- Button trigger modal -->
                        <a href="/zuozhetianjia/"><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
                            添加
                        </button></a>
    
                        <table class="table table-hover">
    {#                    <tr>#}
                            <thead>
                            <th>序号</th>
                            <th>姓名</th>
                            <th>性别</th>
                            <th>电话</th>
                            <th>地址</th>
                            </thead>
    <tbody>
        {% for auth in authlist %}
            <tr>
                <td>{{ forloop.counter }}</td>
                <td>{{ auth.name }}</td>
                <td>{{ auth.authdetail.sex }}</td>
                <td>{{ auth.authdetail.tel }}</td>
                <td>{{ auth.authdetail.addr }}</td>
    
                <td>
                    <div class="pull-left">
                    <a href="/zuozheshanchu/{{ pub.id }}">
                        <button class="btn btn-danger" >删除</button>
                    </a>
                    </div>
                    <a href="/zuozhebianji/?id={{ pub.id }}">
                        <button class="btn btn-success" style="margin-left: 5px">编辑</button>
                    </a>
                </td>
            </tr>
            </tbody>
        {% endfor %}
    {% endblock tt %}
    zuozhe.html
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"/>
        <script src="/static/jquery-3.2.1.js"></script>
        <script src="/static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
        <style>
            body {
                background-color: #cccccc;
            }
    
            .container {
                margin-top: 150px;
    
            }
    
        </style>
    </head>
    <body>
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
                <form action="/login/" method="post">
                    {% csrf_token %}
                    <h3 style="text-align: center">请登录</h3>
                    <div class="form-group">
                        <label for="exampleInputEmail1" class="control-label">用户名</label>
                        <input type="text" class="form-control c1" id="exampleInputEmail1" name="name" placeholder="用户名">
    {#                    <span class="help-block"></span>#}
                    </div>
                    <div class="form-group">
                        <label for="exampleInputPassword1" class="control-label">密码</label>
                        <input type="password" class="form-control c1" id="exampleInputPassword1" name="password" placeholder="密码">
    {#                    <span class="help-block"></span>#}
                    </div>
                    <div style="color: red">{{ s }}</div>
                    <input class="btn btn-primary" type="submit" value="提交" id="sb"/>
                    <a href="/zhuce/"><input type="button" value="免费注册" class="btn btn-success pull-right"/></a>
                    <!--<button type="submit" class="btn btn-primary">Submit</button>-->
                </form>
            </div>
        </div>
    </div>
    
    {# 以下为jq代码  输入不能为空的提示 #}
    
    {#<script src="jquery-3.2.1.js"></script>#}
    {#    <script src="bootstrap-3.3.7/js/bootstrap.min.js"></script>#}
    <!--<script src="abc.js">-->
    {#<script>#}
    {#    $('.btn').on('click',function(){#}
    {#        $('form .form-group').removeClass('has-error');#}
    {#        $('form span').text('');#}
    {#        $('.c1').each(function(i,v){#}
    {#            if($(v).val().length===0){#}
    {#                $(v).parent().addClass('has-error');#}
    {#                console.log($(v).parent())#}
    {#                $(v).next().text($(v).prev().text()+'不能为空');#}
    {#                return false#}
    {#            }#}
    {#        })#}
    {#    })#}
    
    
    {#以下为jq自定义插件-输入不能为空#}
    {#//$.kuozhan('#sb')#}
    {#</script>#}
    </body>
    
    </html>
    登录校验.html
    import pymysql
    
    pymysql.install_as_MySQLdb()
    __init__.py
    """
    Django settings for xiangmu01 project.
    
    Generated by 'django-admin startproject' using Django 1.11.6.
    
    For more information on this file, see
    https://docs.djangoproject.com/en/1.11/topics/settings/
    
    For the full list of settings and their values, see
    https://docs.djangoproject.com/en/1.11/ref/settings/
    """
    
    import os
    
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    
    # Quick-start development settings - unsuitable for production
    # See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
    
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = '#^b0%&v92lkm34l)&yrw345gqdw^&w_zq$o0bja71uf40#qz=w'
    
    # SECURITY WARNING: don't run with debug turned on in production!
    DEBUG = True
    
    ALLOWED_HOSTS = []
    
    
    # Application definition
    
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app01',
    ]
    
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    
    ROOT_URLCONF = 'xiangmu01.urls'
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, "templates")],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    WSGI_APPLICATION = 'xiangmu01.wsgi.application'
    
    
    # Database
    # https://docs.djangoproject.com/en/1.11/ref/settings/#databases
    
    # DATABASES = {
    #     'default': {
    #         'ENGINE': 'django.db.backends.sqlite3',
    #         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    #     }
    # }
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'xiangmu01',  # 你的数据库名称
            'USER': 'root',  #你的数据库用户名
            'PASSWORD': '963.',  #你的数据库密码
            'HOST': '',  #你的数据库主机,留空默认为localhost
            'PORT': '3306',  #你的数据库端口
        }
    }
    
    
    # Password validation
    # https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
    
    AUTH_PASSWORD_VALIDATORS = [
        {
            'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
        },
    ]
    
    
    # Internationalization
    # https://docs.djangoproject.com/en/1.11/topics/i18n/
    
    LANGUAGE_CODE = 'en-us'
    
    TIME_ZONE = 'UTC'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    
    
    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/1.11/howto/static-files/
    
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
    ]
    
    TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,  'templates'),
        'app01',
    )
    
    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'propagate': True,
                'level': 'DEBUG',
            },
        }
    }
    settings.py
    """xiangmu01 URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url
    from django.contrib import admin
    from app01 import views
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^shujichaxun/', views.shujichaxun),
        url(r'^chubanshechaxun/', views.chubanshechaxun),
        url(r'^zuozhechaxun/', views.zuozhechaxun),
        url(r'^shujishanchu/(d+)', views.shujishanchu),
        url(r'^shujitianjia/', views.shujitianjia),
        url(r'^shujibianji/', views.shujibianji),
        url(r'^login/', views.login),
        url(r'^zhuce/', views.zhuce),
        url(r'^middle/', views.middle),
        url(r'^xieyi/', views.xieyi),
        url(r'^xiugaimima/', views.xiugaimima),
        url(r'^zhuxiao/', views.zhuxiao),
    
    
    ]
    urls.py

    bug:  注册的时候用户名一样的时候也可以注册   ///退出功能未实现   //分页盒子的布局

  • 相关阅读:
    server2012/win8 卸载.net framework 4.5后 无法进入系统桌面故障解决【转】
    Entity Framework中AutoDetectChangesEnabled為false時更新DB方法
    git常用命令备忘录
    MSSQL日誌傳輸熱備份注意事項
    c#生成唯一编号方法记录,可用数据库主键 唯一+有序
    Angular 隨記
    使用dumpbin命令查看dll导出函数及重定向输出到文件【轉】
    UML类图与类的关系详解【转】
    知識隨記
    session不会过期
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/7772690.html
Copyright © 2011-2022 走看看