一个简单的图书管理系统,html那里面不怎么样

我只在models里面定义了一个图书表,比较容易
别忘设置数据库,,,这只是个最基本的,,只有增删改查,,大佬请绕道,

from django.db import models




class BookInfo(models.Model):
    name = models.CharField(max_length=20)
    author = models.CharField(max_length=20)
    def __str__(self):
        return self.name

接下来是urls部分


from django.conf.urls import url
from booktest import views

urlpatterns = [

    url(r'^index$',views.index), # 首页
    url(r'^add_book$',views.add_book),# 跳转到增加书页面
    url(r'^add_check$',views.add_check), # 增加书

    url(r'^delete_book(\d+)$',views.delete_book),# 删除书
    url(r'^edit_check$',views.edit_check),# 编辑书
    url(r'^edit_book$',views.edit_book),# 跳转到编辑页面
    url(r'^login$',views.login),# 跳转到登陆页面
    url(r'^login_check$',views.login_check),# 判断用户名和密码
    url(r'^login_out$',views.login_out),# 退出

views部分



from django.shortcuts import render, redirect

from django.http import JsonResponse, HttpResponse, response

# @blocked_ips
from booktest import models
from booktest.models import BookInfo


def static_test(request):

    return render(request,'booktest/static_test.html')

def index(request,):
    books = BookInfo.objects.all()
    return render(request,'booktest/index.html',{'books':books})

def add_book(request):
    name = request.POST.get('name')
    author = request.POST.get('author')
    models.BookInfo.objects.create(name=name,author=author)
    return redirect('/index')
def add_check(request):
    return render(request,'booktest/add_books.html')

def delete_book(request,bid):
    book = BookInfo.objects.get(id =bid)
    book.delete()

    return redirect('/index')

def edit_book(request):
    aid = request.POST.get('id')
    edit_obj = BookInfo.objects.get(id=aid)
    new_name = request.POST.get('name')
    new_author = request.POST.get('author')

    edit_obj.name=new_name
    edit_obj.author=new_author
    edit_obj.save()
    return redirect('/index')

def edit_check(request):
    # 跳转到编辑页面
    return render(request,'booktest/edit_check.html')

# def login(request):
#     # 跳转到登陆页面
#     # 获取 cookie usernmae
#     if 'username' in request.COOKIES:
#         username = request.COOKIES['username']
#     else:
#         username = ''
#     return render(request,'booktest/login.html',{'username':username})
#
# def login_check(request):
#     # 登录校验试图
#
#     username = request.POST.get('username')
#     password = request.POST.get('password')
#     remember = request.POST.get('remember')
#
#     if username == '123' and password == '123':
#         # 判断是否记住用户名
#         if remember == 'on':
#             # 设置cookie 过期时间
#            return
#         return response
#     else:
#
#         return redirect('/login')
def login_out(request):
    return HttpResponse('goodbye')

def login(request):
    # 显示登陆页面 获取 cookie username
    # 判断用户是否登录
    if request.session.has_key('islogin'):
        # 用户已登录 跳转到首页
        return redirect('/index')
    else:

        if 'username' in request.COOKIES:
            username =request.COOKIES['username']
        else :
            username =''
        return render(request,'booktest/login.html',{'username':username})

def login_check(request):
    # 登录校验试图
    username =request.POST.get('username')
    password = request.POST.get('password')
    remember =request.POST.get('remember')

    if username == 'smart' and password =='123' :
        response = redirect('/index')
        if remember =='on' :
            # 设置cookie usernmae 过期时间为一周
            response.set_cookie('username',username,max_age=7*24*3600)
            # 记住用户登陆状态 z只要session中 islogin 就认为用户已登录 值不影响
            request.session['islogin'] =True
            return response
        else:
            return redirect('/index')
    else:
        return redirect('/login')

add_book.html

{% extends 'booktest/md.html' %}

{% block form %}
{#    {% for i in ret %}#}
    <form action="/add_book" method="post">
        {% csrf_token %}
            <p>
                <span>书籍名称</span>
                <br>
                <input type="text" class="c2" name="name" placeholder="例:我的世界">
            </p>
            <p>
                <span>作者名字</span>
                <br>
                <input type="text" class="c2" name="author" placeholder="例:曹雪芹">
            </p>


            <input type="submit" class="btn btn-success" id="d1" value="提交">
        </form>
{#        {% endfor %}#}
{% endblock %}

edit_book.html部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


{% block form %}
{#    {% for i in ret %}#}
        <form action="/edit_book" method="post">
        {% csrf_token %}
            <p>
                <span>序号</span>
                <br>
                <input type="text" class="c2" name="id" placeholder="例:1">
            </p>
            <p>
                <span>书籍名称</span>
                <br>
                <input type="text" class="c2" name="name" placeholder="例:我的世界">
            </p>
            <p>
                <span>作者名字</span>
                <br>
                <input type="text" class="c2" name="author" placeholder="例:曹雪芹">
            </p>


            <input type="submit" class="btn btn-success" id="d1" value="提交">
        </form>
{#        {% endfor %}#}
{% endblock %}


</body>
</html>

index。html部分

{% load static %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap.min.css' %}">
    <style>
        .c1 {
            margin-left: 300px;
            margin-right: 50px;
        }
        .op{
            display: inline;
        }
        #d1{
            background: url("{% static 'img/2B.jpg' %}");
            background-repeat:no-repeat ;
            background-size: cover;
            !important;
        }
    </style>
</head>
<body id="d1">
<div class="container-fluid" >
    <h2>查看书籍</h2>

    <button class="btn btn-default" type="submit" style="float: right;margin-right: 50px" id="loginout">

    </button>
    <div class="c1">
       <form action="/add_check">
            <input type="submit" class="btn btn-primary" value="添加书籍">
        </form>
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>编号</th>
                    <th>书籍名称</th>

                    <th>作者名</th>

                </tr>
            </thead>
            <tbody class="info">
                {% for i in books %}
                <tr class="c2">
                    <td>{{ forloop.counter }}</td>
                    <td>{{ i.name }}</td>
                    <td>{{ i.author }}</td>



                    <td>
                        <form action="/edit_check" class="op">
                            <input type="submit" class="btn btn-warning" value="编辑">
                        </form>
                        <form action="/delete_book{{ i.id }}" class="op">
                            <input type="submit" class="btn btn-danger" value="删除">
                        </form>
                    </td>

                </tr>
                {% endfor %}
            </tbody>
        </table>
    </div>


</div>
</body>
<form action="/login_out">
            <input type="submit" class="btn btn-primary" value=退出>
        </form>
<script src="{% static 'plugins/bootstrap.min.js' %}"></script>
<script>
    $('#loginout').click(function () {
        $.ajax({
            url:'/loginout/',
            type:'get',
            success:function (res) {
                if (res === 'ok'){
                    location.href='/login/'
                }
            }
        })
    })
</script>
</html>

login.html部分


<!DOCTYPE html>
<html lang="en">

<head>
    
</head>

<body>
    <div id="login_box">
        <h2>图书管理系统 </h2>
        <div id="form">
            <div id="input_box">
                <form method="post" action="/login_check">
                    
                    <input class="in" type="text"  name="username" placeholder="Username" id="uname" value="{{ username }}"><br>

                    
                    <input class="in" type="password" name="password"  placeholder="Password" id="pwd"><br>

                    
                    <input  type="checkbox"  name="remember">记住用户名<br>
                    <a href="http://127.0.0.1:8000/admin">管理员</a>
                    <input type="submit" value="提交"><br>
                </form>

            </div>
        </div>


        <p>
        <span id="error" style="color:red;font-size: 15px"></span>
        </p>
    </div>
</body>
</html>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序说明: 系统开发环境: Windows xp sp2(win7) + myEclipse + Tomcat6.0 + MySQL5.0 先安装mysql数据库, 数据库文件:直接将数据库目录下的db_librarySys文件夹复制到mysql数据库的data目录下即可(data文件夹在你安装mysql时候能看到路径,安装时候请留意) mysql数据库登陆信息: 帐号root,密码123(自己可以在com.core.ConnDB类中修改) 管理员测试帐号: admin 密码: admin 系统功能与特色: (1)图书类别信息管理:作为一个学校的图书馆,涉及到的图书是很多的,这就有必要对图书进行分门别类,这样有利于对图书的查询和管理。不同的图书类别可以借阅的天数也是不一样的,管理员登陆系统后可以对图书类别进行添加,更新和删除操作。 (2)图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了,只有将图书馆拥有的图书录入系统中,读者朋友在登陆系统后才可以查询到自己喜欢的该图书。 (3)读者类别管理:为了方便图书馆的管理,系统对读者的类别进行了分别,不同的读者类别可以借阅图书的数目是不一样的。管理员在登陆系统后可以这个读者类别信息进行管理,包括添加读者类别信息,修改读者类别,删除读者类别,特别是执行删除操作时需要保持数据库表数据之间的一致性。 (4)读者信息管理:当管理员把读者类别信息编辑好完成后,就可以办理读者信息了,管理员可以添加新的读者信息,修改已经存在的读者信息,删除读者信息。 (5)图书借阅管理:读者可以登陆系统查询自己喜欢的图书,然后到图书馆进行图书借书的登记操作,当读者看完了书或需要归还时,需要拿着自己的图书到图书馆进行归还,此时有管理员办理图书归还业务。当然,如果读者借阅了图书因某种原因忘记了归还,管理员还可以对这些信息进行统计,同时,管理员还可以对已经出借的图书进行续借的办理。 (6)系统设置: 管理员登陆系统后可以修改图书馆的信息,可以修改管理其他操作员的信息,可以管理书架信息。 (7)口令更改:无论是管理员或读者身份登陆系统后,都可以对自己的登陆密码进行修改操作,这样保证了系统的安全性。 (8)系统特点:采用MVC设计模式,完全采用面向对象的设计思想,使用了开源框架Struts。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值