Django搭建图书管理系统01

news2024/10/6 2:04:43

Django框架

Django是一个使用Python编写的开源Web应用程序框架。它采用了MVC(Model-View-Controller)的软件设计模式,旨在简化开发复杂的Web应用程序。

以下是Django框架的一些主要特点

  1. 强大的开发工具:Django提供了一套完整的工具集,包括ORM(对象关系映射)、表单处理、URL路由、模板引擎等,使开发者能够高效地构建Web应用程序。

  2. 自动化的Admin后台:Django自带了一个功能强大的管理后台,可以自动生成数据模型的管理界面,无需编写繁琐的代码即可实现对数据的增删改查操作。

  3. 灵活的URL配置:Django使用灵活的URL配置机制,使开发者能够轻松地定义URL路由规则,并将请求分发给相应的视图函数进行处理。

  4. 数据库支持:Django支持多种数据库后端,包括MySQL、PostgreSQL、SQLite等,开发者可以根据项目需求选择合适的数据库。

  5. 安全性:Django内置了许多安全机制,包括防止常见的Web攻击(如跨站脚本攻击和SQL注入)、密码哈希存储等,帮助开发者构建安全可靠的应用程序。

  6. 模板引擎:Django提供了灵活而强大的模板引擎,使开发者能够轻松地创建可重用的模板,并将动态数据与静态模板分离。

  7. 社区支持:Django拥有庞大的开发者社区,提供了丰富的文档、教程和第三方扩展库,开发者可以从中获取支持和分享经验。

总体来说,Django框架具有开发效率高、代码可维护性好、安全性高等优点,适用于构建中大型的Web应用程序。它被广泛应用于各种领域的Web开发,包括新闻网站、社交媒体平台、电子商务网站等。

开发环境

本教程的开发环境为:

  • Win 10(64位)
  • Python 3.9
  • Django 4.0
  • MySQL 8.0
  • PyCharm

为了避免开发环境不同而导致的错误,建议读者使用相同的版本。

⚙️ 安装Python

python的安装为比较简单,首先找到Python官方网站,选择python3.9的windows版本,下载并安装。

安装时注意勾选添加python到环境变量中。

🛠 创建Django项目

这里使用PyCharm在library 文件夹中创建项目

在这里插入图片描述

创建完成后界面

在这里插入图片描述

查看book文件夹,其结构应该是这样:

library 
│  manage.py
│
├─library
│      asgi.py
│      settings.py
│      urls.py
│      wsgi.py
│      __init__.py
│
└─templates

🛠 配置虚拟环境

**虚拟环境(virtualenv,或venv )**是 Python 多版本管理的利器,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。你可以将虚拟环境理解为一个隔绝的小系统。

从Python3.9版本开始就自带了虚拟环境,不需要安装,配置一下就可以用了。

打开pycharm终端:

在这里插入图片描述

输入配置venv的命令,其中的venv为虚拟环境的放置目录:

 E:\djangopj\library> python -m venv venv  

创建完成后,输入venv\Scripts\activate,即可进入虚拟环境:

PS E:\djangopj\library> venv\Scripts\activate
(venv) PS E:\djangopj\library> 

在这里插入图片描述

盘符前有(venv)标识说明进入venv成功。

🚀 运行Django服务器

非常幸运,Django自带一个轻量的Web开发服务器,也被叫做“runserver”。

开发服务器是为了让你快速开发Web程序,通过它可以避开配置生产环境的服务器的繁琐环节。

开发服务器会自动的检测代码的改变,并且自动加载它,因此在修改代码后不需要手动去重启服务器,非常的方便。

要运行这个django服务器,首先要进入book文件夹,即含有manage.py文件的那个:

输入命令

(venv) PS E:\djangopj\library> python manage.py runserver

在这里插入图片描述

系统打印出这些信息,说明服务器启动成功了,打开Chrome浏览器,输入http://127.0.0.1:8000/ ,即倒数第2排信息提示我们的服务器地址。看到下面的界面:

在这里插入图片描述

恭喜你,小火箭起飞,django运行起来了!

🛠 设置为中文语言

在项目同名文件夹下的settings.py文件中,加入语言以及时区控制即可:
在这里插入图片描述

原:

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

修改:

LANGUAGE_CODE = 'zh-hans'  # 设置语言为中文

TIME_ZONE = 'Asia/Shanghai'  # 设置为中国时区

在这里插入图片描述

🌏️ 浏览器

作为一个正经的web开发者,你的眼中应该只有Chrome!

🔏 总结

经过以上一番折腾,总算是把趁手的工具都准备齐了。

准备好迎接正式的挑战吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业论文内容参考|基于Python的入侵检测系统的设计与实现

文章目录 导文摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望导文 计算机毕业论文内容参考|基于Python的入侵检测系统的设计与实现 摘要 本文介绍了基于Python的入侵检测系统的设计与实现。首先,简要概述了入侵…

ubuntu中使用docker部署mysql

docker images:查看已有镜像docker pull mysql:拉取镜像docker ps -a:查看已有容器docker -o mysql8.0.33.tar(保存镜像使用的名称) mysql(被保存的镜像):避免重复下载,可…

CMU 15-445 -- Tree Indexes - 05

CMU 15-445 -- Tree Indexes - 05 引言Table IndexB TreeB-Tree FamilyB TreeB Tree NodesB Tree OperationsIn Practice Clustered IndexesCompound IndexB Tree Design ChoicesNode SizeMerge ThresholdVariable Length KeysNon-unique IndexesIntra-node Search Optimizatio…

Nginx配置图片服务器

Nginx配置图片服务器 背景请求示例Nginx配置图片服务器问题存在 背景 在我们日常做项目的时候,我们有时候会经常碰到图片需要放到哪?有时候会用第三方的图片存储,比如腾讯云的COS,阿里云的OOS。当然有时候我们也是需要放到Linux的…

找不到 配置管理器。sql server 2008 r2 在win10下

win10 打开sqlserver2008r2的SQL Server 配置管理器 ,通过开始程序中找不到“SQL Server 配置管理器”。去自己电脑上此目录找,“C:\Windows\SysWOW64\SQLServerManager10.msc”,直接运行此文件就可以调出“SQL Server 配置管理器”。 在win1…

docker环境下安装RabbitMQ3.8.2

一、下载指定版本镜像 [rootnginx ~]# docker pull rabbitmq:3.8.2-management 二、创建容器,并映射相关接口 [rootnginx ~]# docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:3.8.2…

Spring Boot 中的 Seata 分布式事务

Spring Boot 中的 Seata 分布式事务 在分布式系统中,保证数据的一致性是一个非常重要的问题。传统的 ACID 事务模型虽然能够保证单个数据库的数据一致性,但是在分布式系统中却很难实现。因此,近年来出现了一些新的事务模型,其中 …

【QT】QIcon设置窗口小图标(12)

如何设置窗口小图标呢,很简单! 导入库: from PyQt5.QtGui import QIcon ##导入库if __name__ __main__:app QApplication(sys.argv)MainWindow QMainWindow()ui xxx.Ui_MainWindow()ui.setupUi(MainWindow)app.setWindowIcon(QIcon(xxx…

全议程公布丨涌现中重塑,PingCAP 用户峰会 2023 邀你共同引领创新力量!

7 月 13 日,PingCAP 用户峰会 2023 将在北京市海淀区西南华邑酒店举办,线上线下同步。本届大会主题为“创新涌动于先”,汇聚前沿数据科技与商业洞见,现场将有来自银行、保险、证券、政府、运营商、零售、制造、能源、物流、技术出…

Linux之进程信号

一、什么是进程信号 进程信号是一种事件通知机制,属于软件中断 信号的作用:发生某事件时,打断进程当前操作,转而去处理这个事件 例子: 假设你正在学习,没有突发事件你不会停止学习。(此时你就…

ubuntu安装MobaXterm和WPS

文章目录 ubuntu安装MobaXtermi386 架构wine操作步骤 ubuntu安装WPS操作步骤WPS版本知识补充 ubuntu安装MobaXterm i386 架构 sudo dpkg --add-architecture i386 是一个Linux系统中的命令,用于添加一个新的架构(architecture)支持到当前系统…

Ant Design4中Form.List和shouldUpdate一起使用的坑

背景 在antd3.x版本中,如果要实现一组表单增加删除的功能,需要Array.map()加上state状态来控制,代码比较复杂,而且非常不优雅。 其次在antd3.x中,表单中任何一个表单项的内容更新都会触发页面重新渲染,这在…

自定义MVC引用XML配置文件实现

目录 前言 自定义MVC实现 1. 导入XML配置文件 2. 导入XML解析建模 3. 优化中央控制器 3.1 修改DisPathServlet中init初始化方法 3.2 修改ActionServlet逻辑处理流程 3.3 通过反射机制实例化子控制器类 3.4 中央控制器将请求委托给子控制器处理 3.5 根据请求结果码跳…

【运维工程师学习】低级格式化磁盘

【运维工程师学习】低级格式化磁盘 1、查看需要格式化的磁盘2、下载低级格式化工具3、打开低级格式化工具,选择目标磁盘,并操作 1、查看需要格式化的磁盘 找不到目标磁盘的话需要到磁盘管理去找,这边我要低级格式话的磁盘是磁盘0 2、下载低级…

BPMNJS 在HTML中的引入与使用

BPMNJS 在HTML中的引入与使用 在网上看到的大多是基于vue使用BPMN的示例或者教程,竟然没有在HTML使用的示例,有也是很简单的介绍核心库的引入和使用,并没有涉及到扩展库。于是简单看了下,真的是一波三折,坎坎坷坷。不过…

vue使用mapbox地图

1、下载依赖 npm install --save mapbox-gl mapbox/mapbox-gl-language 2、引入mapBox,将引入的内容封装为js文件 在api/map文件夹下新建mapbox.js文件 代码: import mapboxgl from mapbox-gl import mapbox-gl/dist/mapbox-gl.css import MapboxLang…

vue表单验证的时候提示 async-validator:‘‘xxx is not a string“

对vue不是很熟悉,在做vue开发的时候,遇到一个很奇怪的问题,输入框涉及到number类型的时候会提示 is not a string 这块的代码是这样的: v-decorator"[ fraction, { rules: [{ required: true, type: number, message: 请输入…

SQL Server中如何将累积数值拆解

概要 本文通过一个计算汽车每日里程数的例子,展现如何通过汽车每日的总里程数,来计算汽车每日的里程数。 代码及实现 每辆汽车中都有一个里程数表,记录汽车从出场到当前行驶的里程数,下表是一样汽车的里程数表,该表…

Elastic Stack之Logstash Beats

文章目录 Logstash简介&运行流程使用(日志采集)常用操作查看线程 BeatFilebeat Logstash 简介&运行流程 教程 一文快速上手Logstash 使用(日志采集) 配置logstash使用elasticsearch作为logstash后端 在logstash\bin目录…

Spring容器获取Bean的9种方式 | 京东云技术团队

1 前言 随着SpringBoot的普及,Spring的使用也越来越广,在某些场景下,我们无法通过注解或配置的形式直接获取到某个Bean。比如,在某一些工具类、设计模式实现中需要使用到Spring容器管理的Bean,此时就需要直接获取到对…