Django2.0单表图书馆系统开发流程Anatkhq

1.查看Django版本:python-mdjango--version

2.创建Django项目:django-adminstartprojectmysite(cd到你要创建的文件下)

3.切换到Django项目目录下,启动Django:pythonmanage.pyrunserver

(2)pycharm下

1.NewProject:创建新的Django项目(建议在moresetting中,可设置应用applicationname)

二、设置settings.py文件:

(1)修改TEMPLATES中的'DIRS':

1os.path.join(BASE_DIR,'templates')

(2)如果想打印orm转换过程中的sql,需要在settings中进行如下配置:

1LOGGING={2'version':1,3'disable_existing_loggers':False,4'handlers':{5'console':{6'level':'DEBUG',7'class':'logging.StreamHandler',8},9},10'loggers':{11'django.db.backends':{12'handlers':['console'],13'propagate':True,14'level':'DEBUG',15},16}17}(3)把settings自带的DATABASES替换成自己的:

DATABASES={'default':{'ENGINE':'django.db.backends.mysql',#改成所用的数据库'NAME':'library',#要连接的数据库,连接前在账号下需要创建好数据库'USER':'root2',#连接数据库的用户名'PASSWORD':'123',#连接数据库的密码'HOST':'127.0.0.1',#连接主机默认本机'POST':3306#端口默认3306}}(4)如果INSTALLED_APPS里没有应用的名称,需要手动添加“applicationname”

(5)管理不同应用的css/js等静态文件:在一个应用里创建static文件夹,用于管理文件

settings.py:添加代码

STATICFILES_DIRS=[os.path.join(BASE_DIR,"static"),]

三、为应用配置models.py

(1)models.py用于创建表结构:之后表的增删改查全部由该类的对象进行操作

1fromdjango.dbimportmodels#必须导入23#Createyourmodelshere.45classBook(models.Model):#类一定要继承models.Model6id=models.AutoField(primary_key=True)#AutoField:自增;primary_key:主键7title=models.CharField(max_length=32)#CharField:字符串8pub_date=models.DateField()9price=models.DecimalField(max_digits=8,decimal_places=2)#类似于double,精读高的浮点数,max_digits最大位数(包括decimal小数部分),decimal小数部分10publish=models.CharField(max_length=32)1112#打印对象,默认打印一长串object属性13#__str__当对象生成的时候自动触发14def__str__(self):15returnself.title#打印对象的QuerySet类型(2)一定要在项目全局文件中的__init__中设置:

1importpymysql23pymysql.install_as_MySQLdb()

(3)创建完之后一定要运行:进行python语句和sql语句的转换

1两条数据库迁移命令即可在指定的数据库中创建表:2pythonmanage.pymakemigrations3pythonmanage.pymigrate四、urls里配置路由

(1)导入创建应用的views

1fromdjango.urlsimportpath,re_path2fromapp01importviews(2)配置路由

urlpatterns=[path('admin/',admin.site.urls),path('book/',views.book),path('addbook/',views.addbook),re_path('^$',views.book),re_path(r"book/(\d+)/delete",views.delbook),#(\d+)捕获数字delbook(request,数字)re_path(r"book/(\d+)/change",views.changebook)#(\d+)捕获数字delbook(request,数字)](3)如果有多个应用,则应该使用分发:让每一个应用有单独自己的url路径

第一步:为每一个应用创建一个urls.py进行分流

第二步:在全局urls中进行分发:

1#分发:2#让每一个应用有单独自己的url路径3re_path(r"app01/",include(("app01.urls","app01"))),#include(('',''))创建两个房间,第二个参数:namespace用来区别同样的urls4re_path(r"app02/",include(("app02.urls","app02"))),56#去掉app01/的分发:7re_path(r"^",include("app01.urls")),89path("articles//",views.month)

五、创建对应的视图函数

(1)导入必要的模块

fromdjango.shortcutsimportrender,HttpResponse,redirect(2)视图函数都需要有返回值return,通常返回值有三种

1returnrender(request,'changebook.html',{"book_obj":book_obj})#给html传入值需要遵循格式:{"book_obj":变量}2returnHttpResponse("HelloWorld")3returnredirect("/book")#进行重定向,不再需要在form表单action里进行定义(3)获取input标签里的值(input标签里一定要定义name="",才能从请求中根据name找到对应的value):

1ifrequest.method=='POST':#判断请求方式2title=request.POST.get("title")3price=request.POST.get("price")4pub_date=request.POST.get("pub_date")5publish=request.POST.get("publish")67#添加表数据,需要导入表对象Book8book_obj=Book.objects.create(title=title,price=price,pub_date=pub_date,publish=publish)(4)表对象的各种obj.object.操作:

首先导入需要用到的表:

fromapp01.modelsimportBook从表中拿到input收集到的各种value

book_list=Book.objects.all()#[obj1,obj2....]通过render传入变量

returnrender(request,'book.html',locals())#local()传入该函数局部变量(5)模板语法

html页面for循环添加table-tbody元素(元素由render传入的变量提供)

re_path(r"book/(\d+)/delete",views.delbook),#(\d+)捕获数字delbook(request,数字)通过模板语法进行删除;再返回该页面(redirect)

1defdelbook(request,id):23Book.objects.filter(id=id).delete()#删除book.pk对应的ID的数据45#删除后进行重定向需要导入redirect6returnredirect("/book")修改数据:与删除一样拿到数据唯一的ID,进行修改

1defchangebook(request,id):2#a标签进入的页面默认为get3#不管是什么请求进入的changebook都获取book_obj4book_obj=Book.objects.filter(id=id).first()#first()拿到queryset的第一个对象56ifrequest.method=="POST":7title=request.POST.get("title")8price=request.POST.get("price")9pub_date=request.POST.get("pub_date")10publish=request.POST.get("publish")1112#当进入编辑页面后点击提交,进入post,对数据进行修改13book_obj=Book.objects.filter(id=id).update(title=title,price=price,pub_date=pub_date,publish=publish)1415returnredirect("/book")161718returnrender(request,'changebook.html',{"book_obj":book_obj})

总结:

1.要在html文件里根据数据库生成标签需熟练运用模板语法for:

4.有按钮的地方就有post访问,则视图函数中通常会进行ifrequest.method对请求进行判断,让网页return到不同的页面

THE END
1.资源推荐畅想之星数据库,随书资源尽在掌中畅想之星随书资源数据库收录了自1990年以来出版的各类图书的随书资源,内容包含图书配套的实例、课件、习题、教程、素材等文档、视频、音频等,完美的弥补了单纯文字信息所无法展示的知识内容,方便师生在阅读的同时配合随书资源更深入的学习。 访问方式 进入台https://mp.weixin.qq.com/s?__biz=MzI0ODI2MjYwNA==&mid=2247548685&idx=1&sn=968311203146cb7c2da4af41e2740701&chksm=e8ebe8563b9ea8e9b1c949a943a0da08ef6fe88b82eabba149a1ade2faa06aed609d059efedb&scene=27
2.为什么图书馆不出2.0版本?有2个原因,很难再升级九游 刷好游,上九游 下载 小伟游戏说https://play.web.9game.cn/video/share?content_id=18635912
3.成都图书馆“成图乐龄荟”2.0版本来了为深入开展全民阅读活动,推动书香成都建设,在成都全市形成良好的阅读氛围,今年7月,“成图乐龄荟”全面升级,2.0版本的“成图乐龄荟”将面向群体扩大至全年龄阶段,成为一项致力于构建全龄友好社会的公益阅读推广服务项目。全新的“成图乐龄荟”以“幼有所长,壮有所用,老有所乐”为宗旨,以系列讲座的方式持续开展。通https://www.ccmapp.cn/news/detail?id=ce39ac63-9dbd-40da-80ba-de8977355e70&categoryname=%E6%9C%80%E6%96%B0%E8%B5%84%E8%AE%AF
4.嘉兴市图书馆app下载嘉兴市图书馆v2.0安卓版版本:v2.0 大小:95.85MB 更新:2024-09-27 分类:资讯阅读 软件介绍 嘉兴市图书馆是一款为读者开发的软件,下载软件就能够快速的进行使用,用户在手机上可以完成借书服务,在线就能够轻松的进行使用,为用户节省更多的时间和精力,让用户获得更多的图书进行阅读,更好的使用;在移动设备上就能够快速完成借书,用户可以随时随地https://www.xiazaiba.com/html/125836.html
5.超星移动图书馆客户端下载版本:v6.3.4 安卓版时间:2020-06-17 应用介绍 超星移动图书馆2.0版是一款专门为各图书馆制作的专业阅读平台,这里拥有海量的图书资源,还有报纸报刊等资源,为用户提供方便快捷的移动阅读服务。感兴趣的用户快来下载吧。 超星移动图书馆应用简介: 超星移动图书馆是专门为各图书馆制作的专业阅读平台,拥有超过百万册电子http://qqtn.com/sj/311920.html
6.2.0T+8AT,图书馆级静音的BJ40新版本值得买?新款北京越野BJ40城市猎人版搭载了2.0T四缸涡轮增压发动机,与之匹配的是8AT手自一体变速箱,最大功率165kW、最大扭矩380N·m。采埃孚这台8AT变速箱在换挡效率方面无可挑剔,升挡丝毫不迟疑,降挡非常干脆,前段和中段的动力输出完全让人感觉不到它是一台SUV,凭借着出色的动力储备,在后段加速时,动力依旧未出现衰减https://www.dongchedi.com/article/7388371962143294002
7.厦门大学图书馆安卓版app下载v2.0.12.个人图书馆登录功能面向在线用户(需登录才能使用);个人借阅信息提醒,我的借阅书籍,我的预约书,我的委托书等信息查看;支持对目标书籍的预约执行,取消;已借书籍的续借管理,委托书取消管理。 无需网络免费无需谷歌市场 展开 详细信息 应用大小:675KB应用版本:v2.0.1 https://www.xgbbs.net/app/47706.html
8.NoteExpress文献管理软件2.0版试用自2008年10月15日起,图书馆已为全校读者开通NoteExpress软件2.0 标准版使用权(2008.10-2009.1),我校读者可以在校园网范围内使用此软件(无帐号密码,通过校园网IP控制),欢迎全校师生使用,为您查阅文献、论文写作提供便利! NoteExpress是目前流行的参考文献管理工具软件,其核心功能是帮助读者在整个科研流程中高效利用电子资https://news.gdufs.edu.cn/info/1016/35887.htm
9.书香朝阳app下载书香朝阳自助图书馆下载v2.0.0官网安卓版版本:v2.0.0 官网安卓版大小:10.0M类别:资讯阅读系统:Android立即下载 没有对应的苹果版,点击下载的是:书香朝阳自助图书馆v2.0.0 官网安卓版开发商:北京聚能鼎力科技股份有限公司介绍相关推荐评论(1) 年轻人app书香朝阳app这是一款在北京朝阳区内的自助借书软件,穿越历史的时空隧道来到古色古香的借书室,仿佛置身千年https://m.itmop.com/downinfo/43467.html
10.深圳“20+8”产业集群上线2.0版本!加快发展新质生产力奋力推进高质量发2.0版本的战略性新兴产业集群,新增低空经济与空天产业集群,软件与信息服务产业集群中的人工智能升格单列为1个产业集群,工业母机、激光与增材制造、精密仪器设备3个产业集群合并为高端装备与仪器产业集群,智能机器人产业集群调整为机器人产业集群,新材料产业集群调整为高性能材料产业集群。同时,将战略性新兴产业集群分为https://www.fjlib.net/zt/fjstsgjcxx/gddt/202403/t20240315_475895.htm
11.版本学“哈利·波特”的前生今世,以及惊喜预告!日记到这里,已经出版过、正在或即将出版的“哈利·波特”(1-7册),已经全部介绍完了。大致总结一下,我们七部小说从典藏本的“2.0版”开始,出过新平装本,到全彩绘本,到英汉对照版,原创封面多卷本,未来还有学院纪念版,都会陆陆续续出齐。 “霍格沃茨图书馆”系列 https://m.douban.com/note/755572506/
12.属性与生活官方版属性与生活官方版下载最新版本v2.0.2属性与生活官方版是一款玩起来非常有意思的模拟角色养成类手游,在游戏中玩家将生活在一个虚拟的世界当中,玩家可以自由的生活中,你可以通过自己的努力去成为自己想成为的人,可以去图书馆看书,去公园散步,想干什么就干什么,游戏的画面使用经典的像素风格为背景,有兴趣的玩家可以下载体验一番哦! https://www.hanzify.org/game/81176.html
13.Ylibrary(电子图书馆)v2.0免费版白手创业网软件是绿色版本,无需要安装无需登录,双击打开就可以使用!软件界面干净简洁。 软件分了书海无涯、回头是岸,这听听就是一个幽默风趣的作者。需要什么资源,直接Angusfz 更改标题为「Ylibrary(电子图书馆) v2.0 免费版」 Angusfz 2023年3月7日 2023-3-7 更新 回复 说点什么吧 不懂就问,VIP专属解答! https://www.heishou.org/d/281668
14.djayPro2forMacv2.0.8破解版专业DJ演奏软件DJ工具包djay Pro 2 for Mac 是下一代 Algoriddim 屡获殊荣的 DJ 软件,具有无数新功能,重新设计的用户界面和先进的图书馆管理工具。djay Pro 2 for Mac 独特的现代界面围绕与 iTunes 和 Spotify 的完美集成而构建,让您即时访问数百万首歌曲。纯净的音质和一系列强大的功能,包括高清波形,四层录音,音频效果,视频混合和https://www.kkmac.com/djay-pro-2.html
15.南山书房2.0版本要来啦!确定选址在这里~▲南山书房·凤亮轩设计效果图。南山图书馆 供图 选址:南山区科技园北区梦溪道2号,高新北一道与科苑北路交叉路口西北侧,周围环绕酷派大厦、松坪学校、海王生物、航天机电等,与科技园南区的平原轩遥相呼应。 主理人:文化名家李凤亮教授。李凤亮现任南方科技大学党委副书记、南山图书馆理事会理事,兼任深圳大学文化产业研https://www.sznews.com/news/content/2021-04/21/content_24151041.htm
16.web.yjsuoj.com/nodenews/990974.htm乖乖过来给我戴小雨伞视频 图书馆里强摁做开腿呻吟漫画网站 国产mcu9965永久免费使用的人很少 黄色免费看一下 熟女口交 精品传媒三区 51cg吃瓜传送门 欧美黄色大片免费观看 av鲁鲁私人电影网 我的YIN荡教师麻麻李佳梦 国产婷婷色综合AV蜜臀AV 女生醉酒被闺蜜用宝宝背带背回 男生女生插 先锋资源AV五月网 http://web.yjsuoj.com/nodenews/990974.htm
17.基于Library2.0的高校图书馆知识服务关键词: Web2.0 图书馆2.0个性化信息服务 服务模式 摘要: Library2.0技术的应用为高校图书馆的知识服务提供了更好的展示与互动平台。详析了Library2.0的概念、特点,讨论了Library2.0在高校具体应用实践,图书馆员为此应作出的观念更新并应付诸实施的行动,探讨了高校图书馆逐渐实现Library2.0技术应用的可能。 无https://www.sinomed.ac.cn/article.do?ui=2015406638
18.知网首页登录入口(2024知网操作流程指引)目前需要使用word2007版本,并且此功能暂不支持win7 64位操作系统。 用E -learning 软件如何导出题录信息到word? 选择需要导出的题录信息后直接右击,选择插入题录到word即可。 什么是CNKI机构数字图书馆,能实现什么功能? 根据使用对象的不同,CNKI机构数字图书馆,分为机构馆数字图书馆(以下简称“机构馆”)和个人数字图https://www.dongrv.com/a/87427/
19.java毕业设计选题大全,题目仅供参考springboot2.0 mybatis个人博客系统 ssm品牌手机销售信息系统 基于springboot的个人理财系统 基于java的ssm医院住院管理系统 基于Springboot的漫画网站 基于ssm vue中国篮球人才管理系统 基于ssm图书馆管理系统 【661】基于ssm学生请假信息管理系统 基于springboot滑雪场管理系统 https://blog.csdn.net/weixin_46437112/article/details/143503349
20.逸读学校版iPhone版免费下载版本:2.0大小:26.2MB语言:简体中文分类:教育 本应用:官方版安全无广告需网络 手机扫码下载 8.4 应用简介 【基本介绍】 一、 功能介绍(学校版) 1、 借阅数据:查阅本校图书馆借阅数据统计,本校阅读之星信息,通过数据分析引导学生养成更好的阅读习惯。 2、 图书管理:本校图书馆图书库存管理,借阅情况查询与统计 https://www.duote.com/ios/612678.html
21.《中国第三产业统计年鉴》整理地区版2.0图书馆个数、公共图书馆总藏量、公共图书馆人均拥有公共图书馆藏量、公共图书馆累计发放有效借书证数、公共图书馆总流通人次、公共图书馆书刊文献外借人次、公共图书馆书刊文献外借册次、公共图书馆阅览室座席数、每万人拥有公共图书馆建筑面积、公共图书馆组织各类讲座次数、公共图书馆组织各类讲座参加人次、公共图书馆https://www.macrodatas.cn/article/1147466867