软件开发类Web框架Django入门指南

译文
开发 前端
本文将向您逐步介绍如何创建一个Django项目,一个具体的应用,以及如何将两者连接起来发挥作用。

【51CTO.com快译】Django是目前流行的软件开发类Web框架之一。而作为一个Python框架,Django可被用于开发服务器端的Web应用。由于能够支持前端开发,Django通常被作为后端,与React等前端框架协同使用。其主要竞争对手是Express等后端框架。与其他框架类似,Django能够通过提供包、模块和库,来简化Web的开发。其免费开源的框架具有快速、安全和可扩展性等特点。下面,我将向您介绍各种着手使用Django所需的基础知识。

Django能做什么?

总的说来,Django能够允许开发人员创建出不同规模的网站和Web应用。2005年,由于需要在工作环境中发布动态新闻,两名开发人员开发和构建出了这个高效且可扩展的Web框架。经过近20年的发展,许多世界顶级公司(包括Instagram、Dropbox、Udemy、Spotify、National Geographic、以及Pinterest等)都已将Django运用到了自己的开发项目中。

创建一个新的Django项目

Django提供了三种安装可选项,您可以在其官网上查找到相关介绍。而在成功安装了Django后,您需要通过在终端中输入如下命令,来生成一个新的Django项目:

  1. django-admin startproject mysite 

也就是说,该命令会在当前的目录中,创建一个新的Django项目。当然,您也可以使用其他名称去代替mysite,这里只是一个示例。

新生成的Django项目将具有如下文件结构: 

  1. mysite/ 
  2.     mysite/ 
  3.         _init_.py 
  4.         asgi.py 
  5.         settings.py 
  6.         urls.py 
  7.         wsgi.py 
  8.     db.sqlite3 
  9.     manage.py 

主项目文件夹内包含了一个同名的内部文件夹 (mysite)、一个SQLite文件和一个Python文件。在此,Django会生成一个空的SQLite文件,以用作其默认的数据库。根据实际情况,您也可以让它使用不同的SQL或NoSQL数据库。

名为manage.py的Python文件是Django的一个命令行实用程序,可方便用户执行各项管理任务。为了执行Django项目,您需要先导航至项目所在的目录,然后在终端里输入如下命令: 

  1. python manage.py runserver 

通过执行上述命令,您的终端将产生如下输出(或类似的输出): 

  1. Performing system checks... 
  2. System check identified no issues (0 silenced). 
  3. You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. 
  4. Run 'python manage.py migrate' to apply them.      
  5. November 06, 2021 - 11:20:27 
  6. Djangoversion 3.2.9, using settings 'mysite.settings' 
  7. Starting development server at http://127.0.0.1:8000/ 
  8. Quit the server with CTRL-BREAK. 

您暂可忽略上述“未应用迁移(unapplied migration)”的警告。一旦您设置好了数据库,该警告就会自动消失。在此,您需要注意的是以“启动开发服务器(Starting development server)”开头的一行。它为您提供了服务器的URL(在本例中为http://127.0.0.1:8000/)。

为了确认Django项目是否正常运行,您可以在浏览器中输入并打开该URL。如果一切顺利的话,您将会看到如下内容:  

 

探究Django的Python包

Python包位于Django项目的内部文件夹(上例为mysite目录)中,其中包含了settings.py、asgi.py、_init_.py、以及urls.py等文件。

在项目的首次执行时,您的终端会根据设置文件的不同,输出类似:“Django的版本为3.2.9,使用的是'mysite.settings'的设置(Django version 3.2.9, using settings 'mysite.settings')”。这意味着,settings.py文件包含了Django项目的所有核心配置。

在Django项目中创建新的应用

作为基础框架,Django项目包含了用于创建完整网站或应用的所有配置和代码。您可以通过在Django项目中创建一个应用,来开启程序的开发之旅。

由于Django应用往往被专门用于网站特定部分(或功能)的小型组件开发,因此如果您想使用Django开发大型电商网站的话,您需要在同一个项目中拥有多个不同的应用。例如,您可以创建一个应用来管理客户,另一个应用去管理待售商品,第三个应用去管理销售。

可见,Django在单个项目中创建多个应用的能力,对于产品的可扩展性是至关重要的。这也使得它成为了企业级开发的理想选择。当然,许多Django项目只会包含一个小规模的应用程序。

若想在Django中创建新的应用,您需要另开一个新的终端,让第一个终端从“python manage.py runserver”命令开始,继续运行您的Django服务器;而在第二个终端中,请导航至项目目录,并输入如下命令: 

  1. python manage.py startapp sellers 

其中“sellers”是您要创建的应用名称。通过执行上述命令,您的Django项目中将会创建一个新的目录。至此,整个文件系统的结构如下表所示: 

  1. mysite/ 
  2.     mysite/ 
  3.         _pycache_ 
  4.         _init_.py 
  5.        asgi.py 
  6.        settings.py 
  7.        urls.py 
  8.        wsgi.py 
  9.     sellers/ 
  10.        migration 
  11.        _init_.py 
  12.        admin.py 
  13.        apps.py 
  14.        models.py 
  15.        test.py 
  16.        views.py 
  17.     db.sqlite3 
  18.     manage.py 

可见,Django项目有了一个新的应用程序。目前,唯一剩下的问题是,网站既不知道该应用的存在,又不知道如何去访问它。因此,我们需要通过如下方法将两者联系起来。

将Django应用连接到Django项目上

urls.py文件可以将Django项目连接到,由开发人员创建的不同应用中。新的Django项目会在Python包中生成如下urls.py文件: 

  1. from django.contrib import admin 
  2. from django.urls import path 
  3. urlpatterns = [ 
  4.    path('admin/', admin.site.urls), 

上面的文件包含了一个URL:admin/。为了让sellers应用连接上电商站点,您需要在该文件中包含sellers应用的URL。为此,您需要事先开发好sellers应用,并通过在sellers views.py文件中创建一个简单的视图,来实现。

sellers view.py文件 

  1. from django.shortcuts import render 
  2. from django.http import HttpResponse 
  3. def index(request): 
  4.    return HttpResponse("Hello sellers"

上面的文件中包含了一个简单的函数,可用于呈现“Hello sellers”。因此,若要将sellers应用连接到电商网站,您可以在sellers应用中创建一个新的urls.py文件。

sellers urls.py 文件 

  1. from django.urls import path 
  2. from . import views 
  3. urlpatterns = [ 
  4.    path('', views.indexname='index'), 

由上述文件创建的URL,可用于导入与使用views.py文件,进而允许开发人员从Django网站处访问views.py文件。

为网站更新的urls.py文件 

  1. from django.contrib import admin 
  2. from django.urls import include, path 
  3. urlpatterns = [ 
  4.    path('sellers/', include('sellers.urls')), 
  5.    path('admin/', admin.site.urls), 

如您所见,该urls.py文件有所不同。它通过导入include()函数,来访问sellers urls.py文件。至此,您可以通过在浏览器中输入并访问如下URL,来查看自己的sellers应用程序了。 

  1. http://127.0.0.1:8000/sellers/ 

其对应的输出界面为: 

 

小结

总的说来,上面的各个演示步骤向您展示了:

  • 如何创建一个Django项目
  • 如何创建一个Django应用
  • 如何将项目连接到不同的应用上

相信您已经对Django及其用途有一个清晰的了解。当然,这还只是开始。如果您想全面了解Django和Python编程语言的相关知识,请通过社区学习相关知识,以及动手编写,来积累实战经验。

原文标题:A Beginner’s Guide to Getting Started With Django,作者:KADEISHA KEAN

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:华轩 来源: 51CTO
相关推荐

2024-08-27 09:09:49

Web系统JSP

2021-08-24 09:00:00

开发软件框架

2022-05-20 10:41:22

SDLC开发模型

2019-04-29 10:12:35

WebFlaskDjango

2009-06-12 11:35:28

模式框架软件设计

2010-04-21 13:22:20

Windows CE

2023-05-13 17:38:03

ZOMBIES软件开发

2021-07-20 09:00:00

开发软件债务

2011-12-08 09:13:30

JavaZIP

2021-03-15 08:18:10

Web安全黑客漏洞

2024-10-14 10:12:37

Python Web框架Python

2012-06-18 09:34:14

2020-06-24 11:21:47

软件开发面试

2017-03-17 08:15:17

敏捷软件开发软件开发

2024-11-07 12:14:36

2015-03-11 09:55:08

Web开发初学指南Web开发指南

2013-04-10 15:14:18

Web App开发WebApp

2009-02-10 17:11:53

SaaSSaaS开发PaaS

2023-10-31 00:49:20

对话式软件开发

2016-12-14 13:51:56

点赞
收藏

51CTO技术栈公众号