第一次使用Django的Hello World
我是一名刚学习Django两个月的初学者工程师。
这是我第一次发帖,所以我将记录下使用Django在浏览器中输出“Hello World”的过程。
环境
-
- Macで開発
-
- Python 3.7.5
- Django 2.2.6
安装Django
pip install django==2.2.6
首先,使用上述命令安装 Django。由于本次使用的是 Django 2.2.6 版本,因此在 django 后面添加 ==2.2.6 来指定版本。
为了确认,您可以使用以下命令检查是否已经安装。
$ python -m django --version
2.2.6
创建项目
如果安装成功后,接下来将创建一个项目。
首先,使用以下命令创建名为 myapp 的目录。
$ mkdir myapp
随后, (simplified Chinese: 随后; traditional Chinese: 隨後).
$ cd myapp
使用上述命令切换到 myapp 目录,并运行下面的命令来创建项目。
$ django-admin startproject conf .
请用以下命令确认是否创建了名为 conf 的项目。
$ ls
conf manage.py
如果 conf 和 mange.py 已经被创建,就可以了。
整个目录结构应该如下所示。
myapp
|
├── manage.py
|
└── conf
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
创建应用程序
在Django中,您可以在项目中创建多个应用程序。
这次我们将创建一个名为hello的应用程序。
$ python manage.py startapp hello
以下是应该有的目录结构图。
myapp
|
├── manage.py
|
├── conf
| ├── __init__.py
| ├── settings.py
| ├── urls.py
| └── wsgi.py
|
└── hello
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
如果继续这样,hello应用程序将不会生效,需要在conf的settings.py中进行配置,以告知hello应用程序已被添加。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
每次创建新应用时,都需要像上述方式一样将’hello’添加到INSTALLED_APPS中,才会被识别和应用。
设置URL
接下来,需要进行URL的设置。虽然将url模式仅添加到conf的url.py文件中也可以,但是随着配置的增加,管理将变得困难,因此将其分开设置为每个应用程序是最佳实践。
将conf文件夹中的url.py文件进行如下编辑。
from django.contrib import admin
from django.urls import path, include ⇦ includeをインポート
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('hello.urls.py')), ⇦ 追加
]
首先,导入include,并在urlpatterns中添加path(”, include(‘hello.urls.py’))。
这样做是为了使用include函数来加载hello应用程序的urls.py。这样做可以将注意力集中在编辑hello应用程序的urls.py上。
接下来,我们要在hello应用中创建一个名为urls.py的文件。应用的urls.py在使用startapp命令创建应用时不会自动生成,需要我们自己手动创建。
如果您在hello应用程序中创建了urls.py文件,请按照以下方式进行编辑。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
从.导入视图将views.py从同一层级导入。
path(”, views.index)将指定URL路径作为第一个参数(在这种情况下,为空),并指定与URL模式匹配的视图函数作为第二个参数(在下一步中将创建视图函数)。第三个参数名称用于反向解析URL,但在这种情况下不需要,所以被省略了。没有填写。
创建View函数
好了,终于到了最后的步骤了。
请将view.py编辑成以下的样子。
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
首先,导入HttpResponse模块。
接下来,在之前创建的hello应用的urls.py文件中添加了path(”, views.index)。这里的第二个参数中的index将成为本次使用的函数,因此被命名为def index(request)。
HttpResponse(‘Hello World’)将想要返回作为响应的值放入()中,并将其作为HttpResponse对象返回。
请执行python manage.py runserver命令。如果看到以下显示,则表示一切顺利。
February 01, 2020 - 05:59:05
Django version 2.2.6, using settings 'conf.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器并访问http://127.0.0.1:8000。

如果以这样的方式显示,那就是成功的。恭喜恭喜!!!!
一句话
如果能够成功显示”Hello World”,就等于向成为一名工程师迈出了重要的一步。可能会觉得很困难,但我相信只要持续学习,迟早会体会到其中的乐趣。虽然我自己也只是才开始两个月,但我希望能不断发展并传达出去。