完整的 Django 零基础教程|初学者指南 - 第 2 部分 转自:维托尔·弗雷塔斯

2021-08-09 15:24:06 浏览数 (1)

安装Django 1.11.4

这非常简单。现在我们已经激活了venv ,运行以下命令来安装 Django:

代码语言:javascript复制
pip install django

pip 安装 django

我们现在都准备好了!

结束安装

开始一个新项目

要启动一个新的 Django 项目,请运行以下命令:

代码语言:javascript复制
django-admin startproject myproject

命令行实用程序django-admin 随 Django 自动安装。

运行上面的命令后,它将为 Django 项目生成基本文件夹结构。

现在,我们的myproject 目录如下所示

代码语言:javascript复制
myproject/                  <-- higher level folder
 |-- myproject/             <-- django project folder
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |     -- manage.py
  -- venv/                  <-- virtual environment folder

我们最初的项目结构由五个文件组成:

  • manage.py :使用django-admin 命令行实用程序的快捷方式。它用于运行与我们的项目相关的管理命令。我们将使用它来运行开发服务器、运行测试、创建迁移等等。
  • init.py :这个空文件告诉 Python 这个文件夹是一个 Python 包。
  • settings.py :此文件包含项目的所有配置。我们会一直参考这个文件!
  • urls.py :这个文件负责映射我们项目中的路由和路径。例如,如果您想在 URL 中显示某些内容,则/about/必须先将其映射到此处。
  • wsgi.py :这个文件是一个用于部署的简单网关接口。你不必为此烦恼。就让它暂时吧。

Django 安装了一个简单的 Web 服务器。在开发过程中非常方便,所以我们不需要安装任何其他东西就可以在本地运行项目。我们可以通过执行命令来测试它:

代码语言:javascript复制
python manage.py runserver

现在,您可以忽略迁移错误;我们稍后会谈到。

现在在 Web 浏览器中打开以下 URL:http : //127.0.0.1 : 8000,您应该会看到以下页面:

有效!

按 CTRL BREAK 停止开发服务器。

Django 应用程序

在 Django 哲学中,我们有两个重要的概念:

  • app :是一个可以做某事的 Web 应用程序。一个应用程序通常由一组模型(数据库表)、视图、模板、测试组成。
  • project :是配置和应用程序的集合。一个项目可以由多个应用程序或单个应用程序组成。

需要注意的是,没有project就无法运行 Django应用程序 。像博客这样的简单网站可以完全在单个应用程序中编写,例如可以命名为blog或weblog。

Django 应用程序

这是组织源代码的一种方式。一开始,确定什么是应用程序或什么不是应用程序并不是一件容易的事。如何组织代码等等。但是现在不用太担心!让我们首先熟悉 Django 的 API 和基础知识。

好的!因此,为了说明,让我们创建一个简单的 Web 论坛或讨论板。要创建我们的第一个应用程序,请转到manage.py 文件所在的目录并执行以下命令:

代码语言:javascript复制
django-admin startapp boards

请注意,我们这次使用了命令startapp

这将为我们提供以下目录结构:

代码语言:javascript复制
myproject/
 |-- myproject/
 |    |-- boards/                <-- our new django app!
 |    |    |-- migrations/
 |    |    |     -- __init__.py
 |    |    |-- __init__.py
 |    |    |-- admin.py
 |    |    |-- apps.py
 |    |    |-- models.py
 |    |    |-- tests.py
 |    |     -- views.py
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |     -- manage.py
  -- venv/

因此,让我们首先探索每个文件的作用:

  • migrations/ :这里 Django 存储一些文件以跟踪您在models.py 文件中创建的更改,以便保持数据库和models.py 同步。
  • admin.py :这是一个名为Django Admin 的内置 Django 应用程序的配置文件。
  • apps.py :这是应用程序本身的配置文件。
  • models.py :这里是我们定义 Web 应用程序实体的地方。模型由 Django 自动转换为数据库表。
  • tests.py :此文件用于为应用程序编写单元测试。
  • views.py :这是我们处理 Web 应用程序的请求/响应周期的文件。

现在我们创建了我们的第一个应用程序,让我们配置我们的项目来使用 它。

为此,请打开settings.py 并尝试查找 INSTALLED_APPS变量:

设置.py

代码语言:javascript复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

如您所见,Django 已经安装了 6 个内置应用程序。它们提供了大多数 Web 应用程序所需的通用功能,例如身份验证、会话、静态文件管理(图像、javascripts、css 等)等。

随着本教程系列的进展,我们将探索这些应用程序。但是现在,让他们成为,只需将我们的 应用程序添加到以下列表中 INSTALLED_APPS

代码语言:javascript复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'boards',
]

使用之前漫画中的正方形和圆圈的类比,黄色圆圈将是我们的 应用程序,而django.contrib.admindjango.contrib.auth 等将是红色圆圈。

你好,世界!

让我们编写我们的第一个视图 。我们将在下一个教程中详细探讨它。但是现在,让我们来试验一下用 Django 创建一个新页面的样子。

在board应用程序中打开views.py 文件,并添加以下代码:

views.py

代码语言:javascript复制
from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello, World!')

视图是接收 HttpRequest对象并返回 HttpResponse对象的Python 函数。接收作为参数的请求 并作为结果返回响应 。这就是你必须记住的流量!

所以,这里我们定义了一个简单的叫做home 的 视图,它只返回一条消息说Hello, World! .

现在我们必须告诉 Django什么时候 提供这个视图。它是在urls.py 文件中完成的:

urls.py

代码语言:javascript复制
from django.conf.urls import url
from django.contrib import admin

from boards import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^admin/', admin.site.urls),
]

如果你比较上面的代码片段与urls.py 文件,你会发现我增加了以下新行: url(r'^$', views.home, name='home')进口的意见 模块从我们的应用 使用 from boards import views

正如我之前提到的,我们稍后将详细探讨这些概念。

但是现在,Django 使用正则表达式 来匹配请求的 URL。对于我们的主页 视图,我正在使用 ^$正则表达式,它将匹配一个空路径,即主页(此网址:http : //127.0.0.1 : 8000)。如果我想匹配 URL http://127.0.0.1/homepage/ ,我的 url 将是:url(r'^homepage/$', views.home, name='home')

让我们看看会发生什么:

代码语言:javascript复制
python manage.py runserver

在 Web 浏览器中,打开 http://127.0.0.1 URL:

你好,世界!

就是这样!您刚刚创建了第一个视图。

结论

这是本教程系列的第一部分。在本教程中,我们学习了如何安装最新的 Python 版本以及如何设置开发环境。我们还介绍了虚拟环境并开始了我们的第一个 Django 项目,并且已经创建了我们的初始应用程序。


版权属于:Cyril

本文链接:https://cloud.tencent.com/developer/article/1858340

转载时须注明出处及本声明

0 人点赞