Django的初始设置到显示HelloWorld(基础的基础)

首先

我整理了一个关于Django项目的初始设置和显示HelloWorld的一系列步骤。虽然这是在使用Django创建Web应用程序时的基础知识,但它是开发过程中的必要步骤,希望您可以将其用作备忘录(请自行负责使用)。

1. 创建虚拟环境并安装Django。

创建Django作业文件夹

% mkdir python-django

在创建的文件夹下创建虚拟环境。这里将创建一个名为“virtual”的虚拟环境。

python-django % python3 -m venv virtual

移动到bin文件夹

python-django % cd virtual

virtual % ls
bin             include         lib             pyvenv.cfg

virtual % cd bin

bin % ls
Activate.ps1            activate.csh            easy_install            pip                     pip3.9                  python3
activate                activate.fish           easy_install-3.9        pip3                    python                  python3.9

激活虚拟环境。

bin % source activate

请确认在终端上是否显示出(虚拟)。
※如果要退出虚拟环境,请输入”deactivate”并按下回车键即可。

Django的安装

(virtual) bin % pip3 install django

創建Django工作環境

我打算在虚拟文件夹下创建Django的工作环境。
首先,我会将文件夹位置移动到虚拟文件夹下,并在其中创建名为Django的文件夹。

(virtual) bin % cd ../
(virtual) virtual % mkdir Django 
(virtual) virtual % cd Django

使用”firstapp”作为名称来启动Django项目。输入以下命令和项目名称,然后按下回车键。

(virtual) Django % django-admin startproject firstapp

我认为在Django文件夹下创建了一个名为firstapp的文件夹。在firstapp下面有一个名为firstapp的文件夹和一个名为manage.py的文件。

在进入包含manage.py文件的目录后,执行以下命令manage.py startapp。在此命令中,作为参数输入应用程序名称,我们决定使用todo作为应用程序名称。

(virtual) firstapp % python3 manage.py startapp todo

3. 让”你好,世界”显示出来-操作说明篇

如果没有接触过Web应用程序代码(包括其他语言的框架),则需要了解其原理后才能编写代码。在这里,我想使用Django框架的机制作为例子,通过使用图表来解释如何显示HelloWorld。

①从网站向Django框架发送请求。
②首先,在名为firstapp/urls.py的文件中接收请求。在这里,写着要去查看在应用文件夹中创建的todo/urls.py,所以会跳转到那里去。
③在todo/urls.py中,写着要调用views.py中定义的hello函数,所以会去看一下views.py。
④在views.py中定义了hello函数。它调用了名称为base.html的文件(模板)位于模板文件夹中,并将值(hw)赋给名称为object的键,然后渲染网站。在这里合成网站。
⑤将在步骤④中合成的网站返回给浏览器。

image.png

也许有人会觉得为了简单地显示HelloWorld而做这么多的麻烦事。但是,通过使用这个机制,我们不需要逐个创建HTML文件,而是可以将内容输入到模板中并进行显示。

4. 尝试显示”Hello World” – 代码部分

作为初始设置,将firstapp文件夹中的urls.py更改如下。开始页指示去查看todo文件夹的urls.py。

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('todo.urls')),
]

下一步,在settings.py文件中,需要将TODO应用程序加入INSTALLED_APPS中以便识别。这将添加’todo.apps.TodoConfig’,它引用了todo文件夹中apps.py的TodoConfig类。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todo.apps.TodoConfig',
]

创建一个名为”templates”的文件夹,并将模板文件夹的路径添加到settings.py文件中。在manage.py所在的目录下创建一个名为”templates”的文件夹,并在settings.py的TEMPLATES部分进行以下配置。

import os

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

我会编辑todo文件夹中的urls.py。从firstapp文件夹的urls.py跳转到todo文件夹的urls.py,所以我会在todo文件夹的urls.py中编写调用(稍后)在views中写的函数的指令。

from django.urls import path
from .views import hello

urlpatterns = [
    path('', hello, name='hello'),
]

接下来我们要编写views.py。在这里,return render是关键,当有请求时,它会调用base.html作为模板(稍后会创建),并在key为object时,将hw(Hello World)作为值调用出来。

from django.shortcuts import render

def hello(request):
    hw = 'Hello World!'
    return render(request, 'base.html', {'object':hw})

我会把base.html写成下面这样。

(Nǐ xiě base.html .)

{{object}}

请用以下的命令输入并点击URL试试看,这样你就能看到显示”Hello World!”了。

(virtual) firstapp % python3 manage.py runserver
广告
将在 10 秒后关闭
bannerAds