前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >完整的 Django 零基础教程|初学者指南 - 第 2 部分 转自:维托尔·弗雷塔斯

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

作者头像
梦溪
发布2021-08-09 15:24:06
9030
发布2021-08-09 15:24:06
举报
文章被收录于专栏:梦溪博客梦溪博客

安装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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021 年 06 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Django 1.11.4
    • 开始一个新项目
      • Django 应用程序
        • 你好,世界!
          • 结论
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档