安装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
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'boards',
]
使用之前漫画中的正方形和圆圈的类比,黄色圆圈将是我们的板 应用程序,而django.contrib.admin 、django.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
转载时须注明出处及本声明