python编写图书管理系统_Python框架:Django写图书管理系统(LMS)(9)

all_book = models.Book.objects.all()

returnrender(request, 'edit_author.html', {

'author': edit_obj,

'book_list': all_book

})

写前端页面

前端基本上是一直在重复的页面,注意几个与后端建立联系的地方就好了

{% for publisher in publisher_list %}

{{ forloop.counter }}

{{ publisher.name }}

class="fa fa-pencil fa-fw"

class="fa fa-trash-o fa-fw"

aria-hidden="true">删除

{% endfor %}

12.应用程序需要连接到应该使用一般的用户帐号,开放少数必要的权限给该用户。但是这里有一个极其严重的问题,在上面这个函数的 for 循环内,为 dest 的每一个元素(int *)分配内存都是有可能失败的,如果在为 dest[1]、dest[2]、dest[3] 分配内存时都成功,但在为 dest[4] 分配内存时失败了,dest[1]、dest[2]、dest[3] 已经分到的内存是应该要释放掉的,但这里却直接返回一个空指针就结束了,这就造成了严重的内存泄漏,因此这个函数需要修正如下(注意 for 循环里添加的嵌套 for 循环):int **create_array_2d(int row, int colume)。邮政特快专递简称ems,是邮政系统最快的发货方式,使用航空邮递,一般省内24小时之内到达,内基本上是72小时到达,需要查询时可直接拨打当地11185查询,或者登陆网站查询,很方便,也很安全,丢失的几率非常低,但价格相对来说就比较昂贵了,单据费是1.50元,邮寄起价是20元500g,好象是1000公里之内每增加500g加6元,1000公里以上每增加500g加9元,2000公里以上每增加500g加15元,东西沉的话寄起来很让人心疼的,不过如果一定要使用ems的话,也是有办法省钱的。

< selectclass= "form-control"name= "publisher_id">

{% forpublisher inpublisher_list %}

{ # 如果当前循环到的出版社 和 书关联的出版社 相等 #}

{% ifpublisher == book.publisher %}

value= "{{ publisher.id }}">{{ publisher.name }}

{% else%}

{{ publisher.name }}

{% endif %}

{% endfor %}

select>

完整代码已上传到GIthub,请点击我的github:

https://github.com/mayite/lms访问下载

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-94449-9.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 图书管理系统说明V2.0 ### 项目介绍及再版说明(2016-01-24) 其实一开始做这个小项目在2014年的9到11月,当时是作为加入Pureweber开发组的大作业完成的。虽然用了两个月的时间,但是做出的东西还是有很多的缺陷。前些日子在整理GitHub时又想起来了这个项目,记得曾经还在Django中国社区里安利初学者来读代码什么的。但是想想里面还有很多不规范的代码和一些很糟糕的法就感觉很蛋疼。本来想直接删除了好了,但是后来想想,何不花点时间把这个小项目重构一下,就可以给以后学习Django的同学一个完整的项目参考,就可以代替了一般培训课程或者老师上课PPT里那种陈旧或者不完整的例子。 于是一共花费了大约两天时间对项目进行了重构,主要做了以下方面的工作: * 将Django的版本更新到了最新的1.9.1。 * 修改了原先项目中不规范的格式、变量名等。 * 更改了项目的目录结构,换成了Django官方推荐的目录结构模式。 * 将原来缺失的文件上传保存部分补充完整了。 * 更改了用户部分的代码,将原来手动设置session的方式去掉了,替换为Django用户模块默认的登录态保存方式. * 修复了注册用户时用户提交空密码可能造成的安全漏洞。 * 做了对python3的支持。改动不多。 ### 项目所涉及的和Django相关的功能 项目的目的是为了给Django的初学者一个完整项目的参考案例,所以尽可能多的选择了初学者常用的方法处理一些问题,比如在视图的处理上选择了视图处理函数,而不是更好用的视图处理类。在参数传递上只使用了标准的POST和GET的方式传参,而没有使用url地址中提取参数的办法。该项目中主要涉及到的Django框架相关的内容有: * Models模型字段用法,外键关系用法。 [文档](https://docs.djangoproject.com/en/1.9/topics/db/models/) * 使用ORM进行数据库查询。 [文档](https://docs.djangoproject.com/en/1.9/topics/db/queries/) * Urls配置文件的法,Urls命名与反向查询。 [文档](https://docs.djangoproject.com/en/1.9/topics/http/urls/) * Views视图处理函数。 [文档](https://docs.djangoproject.com/en/1.9/topics/http/views/) * Templates模板。 [文档](https://docs.djangoproject.com/en/1.9/ref/templates/language/) * 在admin站点中注册模型。 [文档](https://docs.djangoproject.com/en/1.9/ref/contrib/admin/) * Django自带用户模块的注册和登录。 [文档](https://docs.djangoproject.com/en/1.9/topics/auth/default/) * 对Django自带的用户模块进行拓展。 [文档](https://docs.djangoproject.com/en/1.9/topics/auth/customizing/) * 静态文件处理。 [文档](https://docs.djangoproject.com/en/1.9/ref/contrib/staticfiles/) * 还有一大堆其他的…… ### 系统说明 * 本系统使用PythonDjango框架搭建。 * 前端部分使用bootstrap。 ### 运行说明 * 请参考Django官方文档[下载](https://www.djangoproject.com/download/)Django1.711.9.1版。 * 请按照Django官方文档[安装](https://docs.djangoproject.com/en/1.9/intro/install/)Django。 * 如果是水果电脑。。。请额外安装[PIL](http://www.pythonware.com/products/pil/)库。 * 通过终端进入项目文件夹。 * 在终端中执行`python manage.py runserver`命令即可运行本地开发服务器。 * 在浏览器里访问`http://127.0.0.1:8000`即可查看该网站。 ### 功能实现 * 实现了用户权限相关的基本操作(注册、登陆、修改密码、注销) * 实现了用户分级(普通用户与管理员用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值