用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应用。