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.服务指南在校园网 IP 范围内,可直接通过学校图书馆网站的相关链接进入世图学术发现平台;也可以在浏览器中输入平台网址 “http://scholar.zzshitu.com/” 进入平台首页。进入后,如果页面显示学校相关信息,则说明可以正常使用。 二、检索资源: 简单检索:在平台首页的搜索框中输入关键词,关键词可以是研究主题、作者、标题等相https://tsg.hnvc.net.cn/column/fwzn/content/1731551577633.shtml
2.AI素养与技能提升数据库试用通知百色学院1、登陆网址:https://ai.xxsuyang.com/ 2、扫码进入首页: 3、校园局域网范围内: 输入网址或扫描二维码进入首页后,即可观看完整视频。 注册:在IP范围内,注册后自动验证IP完成。如果学校是 CARSI 会员:点击登录界面的“CARSI 认证”,(建议优先通过此方式登录,可以免注册直接登录),此方式不需要额外验证校园网IP或http://tsg.bsuc.edu.cn/info/1141/6096.htm
3.ssm毕设图书馆管理系统程序+论文读者服务体验问题:构建方便快捷的用户界面和操作流程,使读者能够轻松查询图书、借阅图书、查看自己的借阅历史、进行图书荐购等操作,提升读者对图书馆服务的满意度。 数据安全与隐私保护问题:在系统开发过程中,采用安全可靠的技术手段,如数据加密、用户权限管理等,保护用户的个人信息以及图书馆的业务数据不被泄露和非法访问https://blog.csdn.net/wuzhou202/article/details/144321726
4.知网怎么用学校账号登录知网用学校账号登录方法1、首先,打开你的浏览器,进入知网的官网页面。在官网页面右上角,你会看到一个“校外访问”的选项,点击它。接着,你会看到一个搜索框,输入你的学校名称。 2、搜索结果中找到你的学校,然后点击登录。这时,你需要输入你的学号和密码。如果你忘记了密码,可以通过学校的官方网站或者企业微信找回密码。 https://shouyou.3dmgame.com/gl/540262.html
5.图书管理系统需求分析报告范文(精选10篇)g.系统由图书馆工作人员操作。分为:系统管理员,书籍管理员和借阅管理员,每人对应相应的权限。h.报表的打印输出。 i.所有操作人员凭帐号和密码登陆系统。 7.经济可行性分析 开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。开发完成运行后,为使用者带来便利,为系统的https://www.ruiwen.com/baogao/6437442.html
6.国家企业信用信息公示系统企业信用信息 经营异常名录 严重违法失信名单 查询 热搜榜: 三只羊(合肥)控股集团有限公司 浙江淘宝网络有限公司 上海寻梦信息技术有限公司 更多 信息公告 企业信息填报 全国个体私营 经济发展服务网 重点领域信息 公示专区 微信小程序 支付宝小程序 主办单位:国家市场监督管理总局 地址:北京市西城区三里河东路八https://www.gsxt.gov.cn/
7.移动应用开发(APP开发)市场调研报告12篇(全文)实时解答系统是在吸取国内外先进经验的基础上推出的, 它能实时地帮助读者解决在使用数字图书馆中第一时间所发生的问题[5]。咨询馆员不受地点的限制, 只要打开某台联网的计算机, 以咨询馆员的身份登陆后, 就可在网上解答读者的疑问, 充分满足各个读者实际需求。此外, 图书管理员应利用数据仓库、数据挖掘、知识提取https://www.99xueshu.com/w/file015bgpe9.html
8.Java实战项目锤炼之网上图书馆管理系统的实现流程java读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Java+jsp+servlet+mysql+ajax实现一个网上图书馆管理系统,大家可以在过程中查缺补漏,提升水平一、项目简述功能: 区分为管理员用户和普通用户,普通用户:用户登录,个 人信息修改,图书查询,用户借阅,用户归还https://www.jb51.net/article/228974.htm
9.中国知网中国知网知识发现网络平台—面向海内外读者提供中国学术文献、外文文献、学位论文、报纸、会议、年鉴、工具书等各类资源统一检索、统一导航、在线阅读和下载服务。涵盖基础科学、文史哲、工程科技、社会科学、农业、经济与管理科学、医药卫生、信息科技等十大领域。https://www.cnki.net/
10.图书管理系统分析(精选十篇)图书管理系统分析(精选十篇) 图书馆不仅需要管理成千上万的图书, 还要对频繁更替的借还书信息和纷繁复杂的读者信息等进行正确梳理。随着网络技术的普及, 可以实现一种自动化控制的信息管理系统, 它具有智能化、信息化和系统化的特点, 不仅降低图书管理成本, 而且能使管理https://www.360wenmi.com/f/cnkeyrc64zlp.html
11.数字化校园建设方案(精选11篇)购置高性能计算机,建立功能强大的视频服务器、音频服务器、文件服务器等。建立一个校园网外能够访问并配置详实的信息资料介绍校园文化的网站,网站添加丰富的优秀教育教学资源,将电子图书馆融合进去。 5、公共实训平台数字化建设 按照“认知实习→技能仿真→实践操作”的流程,规划建设符合校园体系现状和未来发展趋势的实训设https://www.fwsir.com/fanwen/html/fanwen_20150925101805_312174.html
12.江苏自考常见问题解答自考新生报名基本流程如下:(1)新生注册,填写基本信息并选择报考专业,生成准考证号;(2)上传身份证照、证件照和手持身份证照三张照片进行身份验证;(3)身份验证通过后,选择课程进行报考并支付报考费用;(4)完成支付后,重新登录系统检查是否报考成功。 9. 怎样登录自学考试网上报名系统? https://www.educity.cn/zikao/221279.html
13.图书管理系统基本架构图图书管理系统架构设计为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图书馆的要求下,开发一款整体式结构的图书借阅管理系统,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保障,能保证平台可持续、规模化发展的要求。https://blog.51cto.com/u_16213666/7835789