Django Python初学者教程:什么是Django Python?如何系统学习Django Python?

作者 : IT 大叔 本文共5045个字,预计阅读时间需要13分钟 发布时间: 2020-09-19

Django是一种流行的Python开源Web开发框架,用于快速Web开发和简洁实用的设计。它是一个健壮且易于使用的框架,可通过预先烘焙相当标准的重要部分来专注于您的应用程序。该框架使您更容易专注于编写应用程序,而无需重新发明轮子。

Django用于各种技术堆栈,包括Instagram,Pinterest,Mozilla和Eventbrite。各地的公司都在积极使用Django,并对其开发进行了投资。根据StackOverflow,在2020年,它是第四大最受欢迎的Web框架。

今天,我们将介绍Django并从头开始构建程序。如果您想立即开始,那么以下概念的知识将有所帮助。

  • HTML / CSS
  • Python
  • HTTP请求如何工作
  • 关系数据库如何工作以及SQL如何工作

在本文中,我们将研究:

  • 什么是Django?
  • Django设计模式
  • Django与Flask
  • Django如何运作?
  • Hello World 在Django中
  • 从头开始构建第一个Django程序
  • 中级Django:模板引擎
  • 接下来要学什么

Django Python初学者教程:什么是Django Python?如何系统学习Django Python?插图

什么是Django?

Django是一个用Python编写的高级Web框架,用于快速开发和实用设计。框架只是模块的集合,这些模块被组合在一起以从可靠的现有资源中创建Web应用程序。Django提供了这些模块的大量集合。

Django创建于2003年,当时在堪萨斯州劳伦斯的一家报纸公司工作的网络开发人员需要一种更好的方式来组织其代码。由于开发人员被许多报纸记者包围,因此清晰的文档成为该项目不可或缺的一部分,该项目被称为“ Django”项目。

从那以后,Django迅速成长为一个庞大的在线开源社区,该社区拥有从身份验证到内容管理系统几乎所有您能想到的解决方案。

Django的好处

与其他可能的解决方案相比,使用Django有很多好处:

  • 快速:由于Django的设置方式,您可以很快上手。如果您已经有了Django应用程序的体系结构,那么它实际上根本不需要任何时间。
  • 可扩展: Django可以满足大型项目的流量需求。
  • 满载:您可以使用各种程序包执行标准的Web应用程序任务,例如身份验证或内容管理或查询。全部预烤。
  • 多功能: Django非常通用。您可以将其用于各种应用程序。天空实际上是您可以使用它的极限。
  • 安全: Django的内置安全协议避免了跨站点请求伪造,跨站点脚本,clickjacking和SQL注入的常见安全风险。
  • SEO已优化: Django通过使用URL而不是IP地址维护网站来简化SEO。
  • 文档: Django的文档是市场上最好的文档之一。即使没有技术背景的人也很容易阅读。

凭借Django的多功能性,它肯定能够满足您项目的需求。Spotify,Pinterest,National Geographic和Dropbox等公司都使用Django作为其业务模型。接下来,让我们看看这些公司使用的常见设计模式,以便您可以体会到典型项目的形状。

Django设计模式

Django体系结构包含三个主要组件:有助于使用数据库的元素,适用于不编程人员的模板系统以及可自动执行许多网站管理的框架。这使其适合于“模型,视图,模板”设计模式:

Django Python初学者教程:什么是Django Python?如何系统学习Django Python?插图(2)

  • 模型:定义数据库的结构
  • 视图:定义从HTTP请求返回内容的逻辑。
  • 模板:定义带有纯文本信息的网页外观的结构,这些信息可以由不一定编程的人读取

这些组成部分放在各自的独立文件中,这些文件根据其用途在Django Web应用程序中命名。另外,您可能具有URL映射器,该映射器处理路由到不同端点的特定视图。

Django Python初学者教程:什么是Django Python?如何系统学习Django Python?插图(4)

Django与Flask

到目前为止,我们已经对Django进行了介绍。那么,它与另一个流行的Python解决方案Flask有什么真正的区别?

Flask是一个框架,意味着它简单但可扩展。Flask基于做一件事情并做好的概念。Flask不需要任何工具或额外的库。它还不具有任何数据库抽象层。

另一方面,Django是一个包含电池的框架,它提供了许多现成的功能。与Flask相比,它提供的控制更少,并包含管理面板,ORM(对象关系映射)。Django的目标是简化网站的创建。

那么,哪个更好?确实没有更好或更差的解决方案。它取决于您的要求。他们在自己的市场和领域都很棒。在较高的层次上,Django提供了成为完整堆栈框架的优势。通常,团队更喜欢Django,而不是Flask。

Django如何运作?

在Django中,我们可以创建项目和应用程序。在大多数情况下,这些术语可以互换,但在Django中则不能互换。项目可以包含几个用于特定功能或目的的较小的应用程序。在图书馆项目中,我们可以有注册应用程序,登录应用程序,目录应用程序等。

当我们创建运行应用程序的迁移时,根目录看起来类似于以下代码。稍后,我们将介绍如何在您的设备上实际安装和运行Django。

¬project_1/
¬project_1/
	__init__.py
	asgi.py
	settings.py
urls.py
wsgi.py
¬application_1
	¬migrations
		__init__.py
	__init__.py
	admin.py
	apps.py
	models.py
	tests.py
	views.py
	manage.py

内部project_1文件夹包含项目的所有相关文件。

  • __init__.py:空文件表示它是Python软件包。
  • asgi.py:异步服务器网关接口。
  • settings.py:包含您的项目实际运行所需的所有核心信息,例如数据库连接,api密钥,静态文件等。
  • urls.py:项目级别的网址映射器。映射到特定视图或另一个应用程序级别的URL映射器。
  • wsgi.pyWeb服务器网关接口。

application_1 文件夹包含您应用程序的所有相关文件。

  • `migrations:从db的迁移存储在这里
  • __init__.py:空文件表示这是一个Python应用程序
  • admin.py:在此处注册模型
  • apps.py:应用程序配置
  • models.py:在此处创建模型
  • tests.py:在此处创建测试
  • views.py:在此处创建视图

当我们运行服务器时,服务器会使用在中设置的插件来配置Django的默认配置settings.py。您ROOT_URLCONF指向项目文件夹中的URL映射器。然后,URL映射器指向视图,这些视图包含用于返回对某种HTTP请求的响应的逻辑。

models文件是我们为表创建架构的地方。我们使用类似SQL的语法对传递的数据进行约束。我们在管理文件中注册模型,以便注册后可以在项目上运行迁移。

在学习Django的工作方式时,从上到下最简单settings.py。从那里,您可以通过转到项目的URL映射器来浏览整个项目。

最好是要通过创建项目来了解结构的工作原理,所以让我们开始吧!

从头开始构建第一个Django程序

因此,现在我们了解了Hello WorldDjango 的基础知识。让我们更进一步,从头开始构建我们的第一个适当的Django项目。

步骤1:Django安装

视窗

  1. 确保已安装Python 3
  2. 通过导航到要在其中创建虚拟文件夹的文件夹并输入以下内容来创建虚拟环境: py -m venv project-name
  3. 启动虚拟环境: run project-name\Scripts\activate.bat

现在,您将在命令提示符旁边看到“(项目名称)”,以表明您位于虚拟环境中。

  1. 安装Django: py -m pip install Django
  2. 使用以下命令验证安装 django-admin --version

苹果电脑:

  1. 确保已安装Python 3。每当您在命令行中使用python时,都将使用python python3
  2. 安装点子:
    • 下载: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    • 跑: python3 get-pip.py
  3. 安装virtualenv: python3 -m pip install virtualenv
  4. 导航到您要创建虚拟环境的位置
  5. 创建virtualenv: virtualenv <name_of_virtual_env>
  6. 用于cd进入virtualenv
  7. 激活virtualenv: source bin/activate
  8. 安装Django: python3 -m pip install Django

步骤2:初始化专案

一个Django项目是应用程序和配置的集合。以下命令将在first_project目录中创建一个Django项目:

django-admin startproject first_project
  1. 在您的虚拟环境命令行中,运行django-admin startproject first_project。这将创建一个工作空间,它将封装您的所有应用程序和配置文件
  2. cd进入first_project
  3. 运行(Mac)python3 manage.py runserver或(Windows)py manage.py runserver并打开localhost:8000,看看是否有一个带有动画火箭的网站,该网站会告诉您您的安装有效!
Django Python初学者教程:什么是Django Python?如何系统学习Django Python?插图(6)

成功的Django项目

注意:您的终端可能会出现错误,提示您需要运行迁移。由于我们不使用数据库,因此现在不必担心。

步骤3:建立应用程式

如前几节所述,Django中的项目和应用程序非常不同。应用程序具有一种基本目的或功能。在此示例应用程序中,我们将为创建一个基本Hello World应用程序first_project

  1. 在您的虚拟环境中,运行(Mac)python3 manage.py startapp first_app或(Windows)py manage.py startapp first_app
  2. 在项目中配置应用程序。INSTALLED_APPSsettings.py文件first_project夹的文件中查找变量。在列表中的最终应用程序之后,将我们的应用程序名称添加为字符串。
  3. HttpResponse从HTTP Django模块导入包以创建视图。
from django.http import HttpResponse
  1. 创建一个视图函数:
def index(request):
    return HttpResponse(“Hello World!”)
  1. 使用项目URL映射器路由到应用程序视图:
    • 导航 first_project/urls.py
    • first_app import views文件顶部导入
    • urlpatterns列表中,添加以下内容:
path('',views.index,name="index")       
  1. 执行项目:运行(Mac)python3 manage.py runserver或(Windows)py manage.py runserver并打开端口8000,以查看示例结果!

恭喜你!您已经在Django中创建了第一个基本程序!接下来,让我们看一下Django模板引擎,以便我们进一步进行格式化。

Django Python初学者教程:什么是Django Python?如何系统学习Django Python?插图(8)

中级Django:模板引擎

Django模板引擎允许我们为数据创建基本的HTML模板。这是一种动态生成HTML的便捷方法。我们将模板语言用于变量和基本逻辑,然后Django将其用于插值HTML元素内的值。

模板有助于理解Django如何与我们的网站进行交互。可以将其视为页面的脚手架或骨架。

Django模板语言是为已经使用HTML的用户设计的。该语言具有标签,变量,过滤器和注释。下面是一个基本模板,说明了其中一些基本概念。

{% extends "base_generic.html" %}
 
{% block title %}{{ page.title }}{% endblock %}
 
{% block content %}
<h1>{{ page.title }}</h1>
 
{% for blog in blog_list %}
<h2>
 <a href="{{ blog.get_absolute_url }}">
   {{ blog.header|upper }}
 </a>
</h2>
<p>{{ blog.body|truncatewords:"100" }}</p>
{% endfor %}
{% endblock %}

接下来要学什么

我们只是简单介绍了Django可以做的事情。学习Django模板是精通中级Django的重要下一步。但是还有很多东西要学习!

通过学习如何继续以下过程:

  • 创建模型和表格
  • 创建一个REST API
  • 服务静态文件
  • 以及更多
免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » Django Python初学者教程:什么是Django Python?如何系统学习Django Python?

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论