【备忘录】使用Django和HTML展示“Hello World”的方法 ~适合Django初学者的文章②~

首先

这篇文章是为Django学习者准备的初学者向导。最近我开始使用Python的框架Django,所以我将Django的用法作为备忘录保存在了Qiita上。我也希望通过这篇文章来展示我的输出能力。这篇文章是我写的第二篇针对Django初学者的文章,如果您还没有看过第一篇文章的话,请务必从以下链接中阅读一下。

【备忘录】使用Django输出“Hello World”~适用于Django初学者的文章①~

本文的目标和注意事项

在这篇文章中,我们将使用Mac上的Django和HTML在屏幕上显示“Hello World”。
另外,正如我之前所提到的,由于我自己作为一名工程师的知识水平有限,可能有些术语的定义和解释不够充分。如果发现有不足之处,请您指出,我将非常感激!谢谢!

在创建Django项目之前,请参考其他网站对初始设置进行调整。基本上只需要执行以下两个命令。

安装Python3:brew install python3
安装Django:pip3 install django
省略了对brew和pip命令的安装说明。

执行环境

我的工作环境是:
苹果专业级笔记本电脑(MacBook Pro)(13英寸,Retina显示屏,2015年初款)
Sublime Text
终端(Terminal)
Python 3.6
Django 2.2.1

如果您有任何关于执行环境的不充分描述,请告诉我!

让我们立即试试

创建文件夹

首先要做的是创建一个文件夹。在适当的地方创建一个文件夹吧。
mkdir HelloWorld
已经创建了名为HelloWorld的文件夹。

请将当前目录更改为 HelloWorld。

创建项目

我们开始创建Django项目吧。尝试按照以下方式输入:
django-admin startproject hello .

当你输入上述命令时,在文件夹中会显示”hello”和”manage.py”。此外,如果在”HelloWorld”文件夹中有一些文件(例如models.py),那么项目创建成功。

HTML文件的操作

请在与”manage.py”相同的层次上创建一个名为”templates”的文件夹。

在templates文件夹中创建一个名为”index.html”的文件。

请在创建的index.html中填写以下内容。

<p>Hello World</p>

更改setting.py

在这里我们要修改setting.py文件。请您修改以下地方。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [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',
            ],
        },

在追加的部分,指定了最初创建的templates文件夹的位置。

修改views.py

那我们来试着用编辑器打开创建的文件吧。首先,在hello文件夹中创建一个名为”views.py”的文件。
创建完之后,将写入views.py以下的内容。

from django.views.generic import TemplateView

class SayHello(TemplateView):
    template_name = "index.html"

这部分代码描述了TemplateView类的作用,即显示HTML。(在这次的情况下)

修改 urls.py

默认情况下写成以下这样。

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

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

请在下文中加入以下内容。

from django.contrib import admin
from django.urls import path
from .views import SayHello #追記

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello', SayHello.as_view()()) #追記

SayHello是在views.py中创建的类名。
.as_view()是在使用模板的类的情况下附加的部分。

准备工作完成了。

我試著啟動伺服器

用以下的命令可以启动Django服务器。

使用Python管理模块运行服务器。

在使用启动服务器的命令时,请确保位于manage.py文件所在的目录层级上进行操作(否则可能会出现manage.py不存在等错误)。

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

June 08, 2019 - 15:06:39
Django version 2.2.1, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

当你启动服务器并看到上述消息时,表示操作成功。

请尝试打开以下网址:http://127.0.0.1:8000/hello/(其中8000部分可能因个人环境而异)。
其中的”hello/”是在urls.py中进行配置的。

Screen Shot 10.png

是否已被显示?
如果没有显示,我认为控制台上会有错误消息输出,请参考修正。

辛苦了!

結局上

我是一个新手工程师,如果有任何错误,请尽快给我提出评论,我会非常高兴。因为这对我个人的学习有帮助!

下一篇文章将讲述如何连接应用程序并从其他应用程序显示“Hello World”。

非常感谢你。

广告
将在 10 秒后关闭
bannerAds