Django介绍和安装

什么是Django

Django是一个基于Python的网络框架,它允许你快速创建网络应用,而不像其他框架那样存在安装或依赖性问题。
当你建立一个网站时,你总是需要一组类似的组件:一种处理用户认证(注册、登录、退出)的方式,一个网站的管理面板,表单,一种上传文件的方式,等等。Django给你提供了现成的组件来使用。

为什么用Django

1.在Django框架中切换数据库是非常容易的。
2.它有内置的管理界面,使其易于工作。
3.Django是全功能的框架,不需要其他东西。
4.它有数以千计的附加包可供选择。
5.它具有很强的可扩展性。

Django的受欢迎程度

Django被用于许多流行的网站,如。Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic等。目前有超过5千家在线网站是基于Django框架的。( 来源 )
像Hot Frameworks这样的网站通过计算每个平台的GitHub项目和StackOverflow问题的数量来评估一个框架的受欢迎程度,这里Django排在第六位。网络框架通常将自己称为 “有主见的 “或 “无主见的”,这是基于对处理任何特定任务的正确方式的看法。Django在某种程度上是有主见的,因此在这两个世界中都有体现(有主见的和无主见的)。

Django的特点

Django的多样性
Django几乎可以建立任何类型的网站。它还可以与任何客户端框架一起工作,并且可以以任何格式(如HTML、JSON、XML等)传递内容。一些可以使用Django建立的网站有维基、社交网络、新网站等。

Security
由于Django框架是为了使网站开发变得简单,它的设计方式是自动做正确的事情来保护网站。例如,在Django框架中,不是将密码放在cookie中,而是将散列的密码存储在其中,这样就不会被黑客轻易获取了。

Scalability
Django网络节点没有存储状态,它们可以横向扩展–只需在需要时启动更多的节点。能够做到这一点是良好可扩展性的本质。Instagram和Discuz是两个基于Django的产品,拥有数百万的活跃用户,这被当作Django可扩展性的一个例子。

Portability
Django框架的所有代码都是用Python编写的,它可以在许多平台上运行。这导致Django也可以在许多平台上运行,如Linux、Windows和Mac OS。

Django的安装

  • 如果你的系统中没有安装python3(根据你的系统和操作系统的配置),从这里安装。尝试下载最新版本的python,这次是python 3.11.0。

注:在Linux和Mac上安装Django是相似的,这里我展示的是在windows下的安装,Linux和Mac只需打开终端代替命令提示符,并通过以下命令。

  • 安装pip- 打开命令提示符并输入以下命令-
python -m pip install -U pip

Django介绍和安装

  • 安装虚拟环境- 在cmd-中输入以下命令
pip install virtualenv

Django介绍和安装

  • 设置虚拟环境–设置虚拟环境将允许你编辑一般来说你的系统不允许的依赖关系。
    遵循这些步骤来设置一个虚拟环境-
    1.通过在cmd-中给出这个命令来创建一个虚拟环境。
virtualenv env_site

Django介绍和安装

2.通过这个命令改变目录到env_site-

 cd env_site

Django介绍和安装

3.进入env_site内的Scripts目录,激活虚拟环境–。

 cd Scripts
 activate

Django介绍和安装

  • 安装Django- 通过以下命令安装Django-
pip install django

Django介绍和安装

  • 返回到env_site目录-
cd ..

Django介绍和安装

  • 通过以下命令启动一个项目–
django-admin startproject geeks_site

Django介绍和安装

  • 更改目录为geeks_site
cd geeks_site

Django介绍和安装

  • 启动服务器–在cmd-中输入以下命令启动服务器。
python manage.py runserver

Django介绍和安装

  • 要检查服务器是否在运行,请进入网页浏览器,输入http://127.0.0.1:8000/ 作为网址。

Django介绍和安装

Django架构的好处 –

  • 快速发展
  • 松散的耦合
  • 易于修改

MVC架构的弊端 –

  • 模型组件上的负荷太大

  • 发展的复杂性很高

  • 有两个组件在控制视图