用Django创建Hello World应用程序的步骤

总结

创建一个简单的应用程序,当访问Django指定的URL时,显示“你好世界”。

另外,环境是Python 3.7.3和Django 2.2。

1. 创建项目

首先,我想创建一个项目文件,所以使用以下命令创建一个目录。

mkdir helloworld

创建名为helloworldproject的项目。请按照最后的”.”执行(请确保目录名称为helloworld)。

~/helloworld$ django-admin startproject helloworldproject .

1-3. 当运行命令时,helloworld目录下将生成以下文件。

helloworld
├── helloworldproject
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

创建应用程序

2-1. 我想要创建一个新的应用程序,因此将执行以下命令。这次的应用程序名字是helloworldapp。

~/helloworld$ python manage.py startapp helloworldapp

执行后,目录将会如下所示。

大致分为三个部分,分别是在helloworld项目文件中有①名为helloworldapp的应用程序、②名为helloworldproject的项目、以及③名为manage.py的文件。

helloworld
├── helloworldapp
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── helloworldproject
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   └── settings.cpython-37.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

在helloworldproject的settings.py文件中的INSTALLED_APPS中添加helloworldapp。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #追加
    'helloworldapp',
]

2-3. 我们将在TEMPLATES中进行设置,以便能够编写Hello World并显示index.html。我们将在DIRS中添加[BASE_DIR, ‘templates’]。

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',
            ],
        },
    },
]

3. 让我们打印出”Hello World”。

首先,请在helloworldproject/urls.py文件中添加以下内容。

from django.contrib import admin
#includeを追加
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    #追加
    path('', include('helloworldapp.urls'))
]

请在helloworldapp中新建urls.py文件,并添加以下代码。这样,当访问https://网站名称.com/hello时,将执行helloworldapp。

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.helloworldfunction),
]

请在views.py中添加代码,以便可以访问稍后创建的index.html文件。

from django.shortcuts import render

#追加
def helloworldfunction(request):
    return render(request, 'index.html')

请在helloworld文件夹下新建templates文件夹,并在其中新建index.html文件,内容如下:

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>Hello World</title>
  </head>
  <body>
    <h1>Hello World</h1>
  </body>
</html>

目录应该如下所示。

helloworld
├── helloworldapp
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── helloworldproject
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   └── settings.cpython-37.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py
└── templates
    └── index.html

请最后执行以下命令。

~/helloworld$ python manage.py migrate

4. 本地主机启动

为了确认本地主机能够启动,并显示“Hello World”,我会执行runserver命令。

~/helloworld$ python manage.py runserver

如果在浏览器中确认并显示”Hello World”,则表示已成功执行。

与之相关:我尝试使用Django的类视图来展示Hello World应用。

广告
将在 10 秒后关闭
bannerAds