在Django中使用Hello World(初学者)
首先
我想要稍微接触一下Python,所以我试着使用最受欢迎的框架Django,在浏览器上显示”Hello World”,并将这个过程记录下来。
这次我参考了这篇文章。
在Django中的初次Hello World。
我们假设已经安装了Python和pip。
安装 Django 命令。
运行命令`pip install django`以安装django,并安装django命令。
$ python --version
Python 3.8.2
$ pip install django
# (省略)
$ python -m django --version
3.1
创建Django项目
这个例子是关于创建一个名为 helloWorldProject 的项目。
通过运行命令 “django-admin startproject [项目名] [创建目录位置]” 可以创建一个项目。
$ django-admin startproject helloWorldProject .
$ tree
.
├── helloWorldProject
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
添加应用程序
由于当前没有任何状态,所以我将尝试添加一个应用程序,以便当访问域名/hello并在浏览器中时能够启动。
通过执行命令python manage.py startapp [应用程序名称],可以添加一个名为hello的应用程序。
$ python manage.py startapp hello
$ tree
.
├── hello
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── helloWorldProject
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── settings.cpython-38.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
将内容添加到settings.py文件中。
如果保持现状的话,Hello 应用程序尚未生效,需要添加设置。
在 helloWorldProject/settings.py 中添加一个名为 hello 的应用程序。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 追加
'hello',
]
路由器设置
在helloWorldProject/urls.py文件中进行路由配置。
from django.contrib import admin
from django.urls import path, include # include 追加
urlpatterns = [
path('admin/', admin.site.urls),
# 追加
path('', include('hello.urls')),
]
可以在这里写path(‘hello’作为一个选项, 但今天我们要创建一个名为hello/urls.py的文件,并且将关于在访问域名/hello时的路由重定向到hello/urls.py中。
为了追求尽可能高的内聚和低耦合的程序,这样做的原因是如此。
同样,我们可以创建一个新的 hello/urls.py 文件,并在访问域名为 /hello 时调用 hello/views.py 中的 index() 函数。
from django.urls import path
from . import views
urlpatterns = [
path('hello', views.index),
]
查看视图设置
根据在hello/urls.py中的设置,我将在hello/views.py中创建一个名为index()的函数。
我們將回傳一個 HTTP 回應,內容是標示為 Content-Type: text/html、並且裡面寫著 “Hello World” 的檔案。
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
移民
这次与此无关,但在这里所说的迁移是指自动创建和管理应用程序使用的数据库定义的功能。
你可以通过以下命令来执行。
$ python manage.py migrate
如果迁移成功,执行命令后不应该出现错误。
在本地主机上启动
您可以使用以下命令在本地主机上启动。
$ python manage.py runserver
总结
-
- Django というフレームワークを用いてプロジェクトを作成できるようになった
-
- Django でアプリケーションを追加できるようになった
- Django でローカルホストでアプリケーションを起動して、動作が確認できるようなった
最後
我们已经在GitHub上将此次创建的项目公开了。
我也发布了一篇使用此项目编写的 Dockerfile 文章。
– 我尝试创建了一个 Django 开发环境的 Dockerfile。