Django初识篇
前言
通过Django初识篇、基本篇、进阶篇来学习Django,并能快速开发一个中型的Web网站。
一、Django 框架介绍
Django 是一个用于构建 Web 应用程序的高级 Python Web 框架。它由一个用于快速开发可维护和可扩展的 Web 应用程序的一组组件和工具组成。以下是 Django 框架的一些关键特点和组成部分:
-
高级 Web 开发:Django 提供了一种高级的开发方式,使开发人员能够更专注于应用程序的功能而不是底层的 Web开发任务。这有助于提高开发效率。
-
ORM(对象关系映射):Django 提供了一个强大的 ORM,允许开发人员使用 Python 类来定义数据库模型,而不需要编写 SQL查询。这使得数据库交互变得更加抽象和方法。
-
MVC 架构:Django 遵循经典的 MVC(模型-视图-控制器)架构模式,但在 Django 中通常被称为MTV(模型-模板-视图)。这有助于将应用程序的不同组成部分分离开来,使代码更易于维护。
-
自带管理后台:Django自带一个强大的管理后台,开发人员可以使用它来轻松管理应用程序的数据,包括创建、读取、更新和删除操作(CRUD)。
-
安全性:Django 对安全性非常重视,提供了一系列内置的安全性功能,如防止常见的 Web攻击,如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。
-
URL 路由:Django 使用 URL 映射来定义应用程序的不同页面和功能,使得 URL 结构清晰可读,并且易于维护。
-
自动化测试:Django 支持自动化测试,开发人员可以轻松编写单元测试和集成测试,以确保应用程序的稳定性和可靠性。
-
多语言支持:Django 提供了多语言和国际化支持,使得开发多语言应用变得更加容易。
-
社区和扩展:Django 拥有一个活跃的社区,提供了大量的扩展和第三方应用程序,可以帮助开发人员加速开发过程。
二、Django 项目初始化
目录结构
powershell
│─ manage.py # 终端脚本命令,提供了一系列用于生成文件或者目录的命令,也叫脚手架
└─ dome/ # 主应用开发目录,保存了项目中的所有开发人员编写的代码, 目录是生成项目时指定的
│- asgi.py # django3.0以后新增的,用于让django运行在异步编程模式的一个web应用对象
│- settings.py # 默认开发配置文件
│- urls.py # 路由列表目录,用于绑定视图和url的映射关系
│- wsgi.py # wsgi就是项目运行在wsgi服务器时的入口文件,相当于manage.py
└- __init__.py
方式一:Windows通过CMD创建并初始化项目
-
创建虚拟环境并激活
○ 切换到桌面下 cd Desktop
○ 创建虚拟环境目录 md TestEnv
○ 创建虚拟环境_Test python -m venv _Test
○ 进入到Scripts目录下 cd Scripts
○ 激活虚拟环境 activate
-
安装 Django:如果你还没有安装 Django,首先需要在你的开发环境中安装它。你可以使用 pip 包管理器执行以下命令来安装 Django:
pip install Django ==3.2
-
创建项目并启动
○ 回到TestEnv 目录 cd .../.../
○ 创建demo项目 django-admin startproject demo
○ 进入demo项目,启动项目
■ cd demo
■ python manage.py runserver
-
访问项目地址 http://127.0.0.1:8000/
方式二:Pycharm
- 打开 PyCharm:首先确保你已经安装了 PyCharm 并成功启动它。
- 创建新项目:在 PyCharm 的启动页面或顶部菜单中,选择 "File"(文件)> "New Project"(新建项目)。
- 选择项目类型:在新建项目向导中,选择 "Django" 作为项目类型。如果没有直接看到 "Django" 选项,可以搜索框中输入 "Django" 来快速找到。
- 配置项目信息:在下一步中,配置项目的名称和位置。你可以选择项目的根目录并为项目命名。确保选择合适的 Python 解释器,然后点击 "Create"(创建)按钮。
- 配置 Django 设置:一旦项目创建成功,PyCharm 会提示你配置 Django 设置。你可以选择使用默认配置,也可以手动配置数据库、应用程序等设置。点击 "OK"(确定)按钮。
- 创建虚拟环境(可选):PyCharm 通常会建议你创建一个虚拟环境来隔离项目的依赖。你可以根据需要选择是否创建虚拟环境。
- 运行开发服务器:最后,你可以使用以下命令启动 Django 开发服务器:
python manage.py runserver
开发服务器将在默认端口8000上运行。你可以在浏览器中访问 http://127.0.0.1:8000/ 来查看你的 Django 项目。
总结
Django的优点和缺点有哪些?
Django的优点
● 功能完善、要素齐全:自带大量企业Web开发常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站。
● 完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。
● 强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习SQL语言即可对数据库进行操作。
● Django先进的App设计理念: App是可插拔的,是不可多得的思想。不需要了,可以直接删除,对系统整体影响不大。
● 自带台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。
Django的缺点
● 大包大揽: 对于一些轻量级应用不需要的功能模块Django也包括了,不如Flask轻便。
● 过度封装: 很多类和方法都封装了,直接使用比较简单,但改动起来就比较困难。
● 性能劣势: 与C, C++性能上相比,Django性能偏低,当然这是python的锅,其它python框架在流量上来后会有同样问题。
● 模板问题: django的模板实现了代码和样式完全分离,不允许模板里出现python代码,灵活度对某些程序员来说可能不够。