django项目 小示例 图书管理系统

编写models后进行表的初始化和生成

python manage.py makemigrations
python manage.py migrate


sqlite的驱动安装http://blog.csdn.net/qq_36482772/article/details/53458400


拷贝bootstrap到static
setting最后追加 STATIC_ROOT=os.path.join(BASE_DIR,'book/static/bootstrap-3.3.7-dist')



urls.py文件内容

from django.conf.urls import url
from django.contrib import admin
from book import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),
    url(r'^addBook/', views.addBook),
    url(r'^delete/', views.delete),
    url(r'^addBook/', views.addBook),
url(r'^edit/', views.edit),
]

views文件内容

from django.shortcuts import render, redirect
# from book import models
from book.models import *


# Create your views here.
def index(request):
    all_book_list = Book.objects.all()  # 取到的内容为[obj1,obj2,obj3]

    return render(request, "index.html", {"all_book_list":all_book_list})


def addBook(request):
    if request.method == 'POST':
        title = request.POST.get('title')
        price = request.POST.get('price')
        author = request.POST.get('author')
        publish = request.POST.get('publish')
        print(request.POST)
        # 数据库添加操作
        Book.objects.create(title=title, price=price, author=author, publish=publish)
        return redirect("/index/")

    return render(request, "addBook.html")
def delete(request,):
    id=request.GET.get("id")
    Book.objects.filter(id=id).delete()
    return redirect("/index/")
def edit(request):
    Book.objects.filter(id=id).update(title="title")
    # Book.objects.filter()
    return redirect("/index/")


modlels.py文件内容

from django.db import models


# Create your models here.

class Book(models.Model):
    #id = models.IntegerField()
    title = models.CharField(max_length=32)  # 字符串
    price=models.IntegerField()
    author=models.CharField(max_length=32)
    publish=models.CharField(max_length=32)

页面内容

index

{% load staticfiles %}
{##新增内容#}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .outer {
            margin: 100px auto;
            height: 400px;
        {#            background-color: greenyellow;#} border: 0px solid rebeccapurple;
            width: 75%;
        }
    </style>
    {#    //引入外部文件#}
    <link rel="stylesheet" href="{% static "dist/css/bootstrap.css" %}">
    <script src="{% static "dist/js/jquery-3.1.1.js" %}"></script>
    <script src="{% static "dist/js/bootstrap.js" %}"></script>
</head>
<body>

<div class="outer">

    <a href="/addBook/">
        <button type="button" class="btn btn-primary">添加</button>

        <br/></a>
    <hr/>
    <table class="table table-striped">
        <tr>
            <th>编号</th>
            <th>名字</th>
            <th>价格</th>
            <th>作者</th>
            <th>出版社</th>
            <th>管理</th>
        </tr>
        {% for book in all_book_list %}
            <tr>
                <td>{{ book.id }}</td>
                <td>{{ book.title }}</td>
                <td>{{ book.price }}</td>
                <td>{{ book.author }}</td>
                <td>{{ book.publish }}</td>
                <td><a href="/delete/?id={{ book.id }}">
                    <button type="button" class="btn btn-danger">删除</button>
                </a>
                    <a href="/edit/?id={{ book.id }}">
                        <button type="button" class="btn btn-info">修改</button>
                    </a></td>
            </tr>
        {% endfor %}
        {#  {{ all_book_list }}#}
    </table>
</div>
</body>
</html>

addbook

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <link rel="stylesheet" href="{% static "dist/css/bootstrap.css" %}">
    <script src="{% static "dist/js/jquery-3.1.1.js" %}"></script>
    <script src="{% static "dist/js/bootstrap.js" %}"></script>
</head>
<style>
    .addbook{
        margin-top: 10%;
        margin-right: 50%;
    }
</style>
<body>
<br>
<div class="addbook">
    <form class="form-horizontal" action="" method="post">
        <div class="form-group">
            <label for="title" class="col-sm-2 control-label">名字</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="title" placeholder="title" name="title">
            </div>
        </div>
        <div class="form-group">
            <label for="price" class="col-sm-2 control-label">价格</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="price" placeholder="price" name="price">
            </div>
        </div>
        <div class="form-group">
            <label for="author" class="col-sm-2 control-label">作者</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="author" placeholder="author" name="author">
            </div>
        </div>
        <div class="form-group">
            <label for="publish" class="col-sm-2 control-label">出版社</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="publish" placeholder="publish" name="publish">
            </div>
        </div>
        {#    <div class="form-group">#}
        {#        <div class="col-sm-offset-2 col-sm-10">#}
        {#            <div class="checkbox">#}
        {#                <label>#}
        {#                    <input type="checkbox"> Remember me#}
        {#                </label>#}
        {#            </div>#}
        {#        </div>#}
        {#    </div>#}
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-default">提交</button>
            </div>
        </div>
    </form>
</div>
</body>
</html>


附加

setting追加

STATIC_ROOT=os.path.join(BASE_DIR,'book/static/dist')


为了引入bootstrap

boot下拷贝入bootstrap的dist文件夹  js下拷贝入jQuery


并且注释47行 为了post请求 不被拦截

图书馆管理系统使用说明书 配置源程序 附加MYSQL数据库 将TM\02\ Database\db_librarySys文件夹拷贝到mysql\data文件夹下即可,如图1.1所示。 图1.1 拷贝MYSQL数据库 将程序发布到Tomcat下 (1)将“TM\02”文件夹拷贝到Tomcat安装路径下的webapps文件夹中。 (2)选择开始菜单中的“所有程序\Apache Tomcat 6.0\Monitor Tomcat”命令,这时在windows的系统托盘中会显示标识Tomcat服务器启动状态的图标,如果显示为 ,则说明Tomcat服务器没有启动,这时可以在该图标上单击鼠标右键在弹出的快捷菜单中选择“Start Service”菜单项启动Tomcat服务器,启动后将显示为 。 (3)打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在用户名及密码处输入登录Tomcat的用户名和密码,单击【确定】按钮。 (6)进入“Tomcat应用程序管理”页面,在此页面中单击“02”,进入本程序主页面,完成Tomcat配置。 导入所应用的包 在运行本程序时,需要将Struts 1.2和MySQL数据库驱动包拷贝到Tomcat安装路径下的webapps文件夹中的02\WEB-INF\lib文件夹中。 使用说明 系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等功能。项目实施后,能够提高图书馆的图书借阅、归还流程,提高工作效率。整个项目需要在两个月的时间内交付用户使用。 操作注意事项 (1)本系统的用户名为:tsoft,密码为:111 (2)读者类型不同,可借图书的本数也有所区别。 操作流程 (1)用户登录图书馆管理系统后,可看到图书借阅排行榜,通过排行榜可以看出借阅图书的名称、图书类型、借阅次数等相关信息。 (2)单击“系统设置”/“图书馆信息”命令,对图书馆信息进行设置操作。 (3)单击“系统设置”/“管理员设置”命令,对管理员信息进行添加、权限设置、查询及删除操作。 (4)单击“系统设置”/“参数设置”命令,对办证费用及有效期限信息进行添加操作。 (5)单击“系统设置”/“书架设置”命令,对书架信息进行添加、修改及删除操作。 (6)单击“读者管理”/“读者类型管理”命令,对读者类型信息进行添加、修改及删除操作。 (7)单击“读者管理”/“读者档案管理”命令,对读者信息进行添加、修改及删除操作。 (8)单击“图书管理”/“图书类型设置”命令,对图书类型信息进行添加、修改及删除操作。 (9)单击“图书管理”/“图书档案管理”命令,对图书信息进行添加、修改及删除操作。 (10)单击“图书借还”/“图书借阅”命令,对图书借阅信息添加操作。 (11)单击“图书借还”/“图书续借”命令,对图书续借信息进行添加操作。 (12)单击“图书借还”/“图书归还”命令,对图书归还信息进行添加操作。 (13)单击“系统查询”/“图书档案查询”命令,对图书档案信息进行查询操作。 (14)单击“系统查询”/“图书借阅查询”命令,对借阅的图书信息进行查询操作。 (15)单击“系统查询”/“借阅到期提醒”命令,对借阅到期提醒信息进行查询操作。 (16)单击“更改口令”按钮,对当前的用户密码进行修改操作。 (17)单击“退出系统”按钮,退出当前操作系统。
图书馆管理系统是一个用Django框架开发的示例项目。它主要用于帮助图书馆进行图书和读者管理,以及借阅和归还图书的操作。 图书馆管理系统的功能包括了图书管理员和读者两种角色。管理员有权限进行图书的添加、删除、修改和查看,还可以对读者进行管理,包括添加、删除和查询读者的信息。管理员还可以处理读者借阅图书的请求,并对图书的借阅情况进行记录。 读者通过图书馆管理系统可以查询图书馆中的图书信息,并可以选择借阅感兴趣的图书。在借阅图书时,读者需要提供相关的个人信息以作验证。读者还可以在系统中查看自己的借阅记录和归还图书的日期。 在图书馆管理系统中,图书被视为一个对象,具有属性如书名、作者、出版日期和ISBN号等。而读者也是一个对象,包含了个人信息如姓名、年龄和手机号码等。系统会记录每本图书的借阅情况,包括借阅人信息、借阅日期和归还日期等。 图书馆管理系统采用了Django的MVC(模型-视图-控制器)架构,通过定义模型、视图和控制器对图书馆的数据进行处理和展示。模型负责定义数据库的表结构,视图负责处理请求和返回相应的页面,控制器则负责处理业务逻辑,完成数据的处理和操作。 以上就是关于Django示例项目图书馆的简要介绍。通过图书馆管理系统,图书馆可以更加高效地管理图书和读者的信息,提供更好的借阅和归还服务。同时,这个示例项目也可以帮助开发者理解和学习Django框架的使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值