Django应用程序的初始步骤
因为常常忘记开始创建Django应用程序的步骤,所以我决定记下笔记。
概述
总结创建Django应用的步骤。
目标操作系统为Windows。
使用VisualStudioCode(以下简称VSCode)。
按照以下步骤进行创建。
-
- 创建虚拟环境
-
- 安装Django
-
- 创建项目
-
- 启动Django服务器检查
-
- 创建应用程序
-
- 注册应用程序
-
- 实现应用程序功能
-
- 注册应用程序的URL
- 确认应用程序功能
请参考以下指南以创建环境。
创建虚拟环境
创建Python的虚拟环境。
首先,在资源管理器中创建工作文件夹。
假设在C盘的ws文件夹中创建一个名为sample的文件夹。
C:\ws\sample
使用VSCode打开sample文件夹。
通过点击[文件]-[打开文件夹]来打开sample文件夹。
在[终端]-[新终端]中打开终端。
在终端中输入 python -m venv venv,将创建 venv 文件夹。
将样本文件夹设为当前文件夹,并执行.\venv\Scripts\activate,即可进入虚拟环境。
PS C:\ws\sample> .\venv\Scripts\activate
(venv) PS C:\ws\sample>
安装Django
输入命令 “pip install django” 在虚拟环境中安装Django。
(venv) PS C:\ws\sample> pip install django
Collecting django
Using cached https://files.pythonhosted.org/packages/8a/c4/f946a6b02fcbba84e56074f2fc36866433b009bea2528b09fe0bac4fe1aa/Django-3.2.16-py3-none-any.whl
Collecting pytz (from django)
Downloading https://files.pythonhosted.org/packages/2e/09/fbd3c46dce130958ee8e0090f910f1fe39e502cc5ba0aadca1e8a2b932e5/pytz-2022.7.1-py2.py3-none-any.whl (499kB)
100% |████████████████████████████████| 501kB 3.0MB/s
Collecting asgiref<4,>=3.3.2 (from django)
Downloading https://files.pythonhosted.org/packages/8f/29/38d10a47b322a77b2d12c2b79c789f52956f733cb701d4d5157c76b5f238/asgiref-3.6.0-py3-none-any.whl
Collecting sqlparse>=0.2.2 (from django)
Using cached https://files.pythonhosted.org/packages/97/d3/31dd2c3e48fc2060819f4acb0686248250a0f2326356306b38a42e059144/sqlparse-0.4.3-py3-none-any.whl
Collecting typing-extensions; python_version < "3.8" (from asgiref<4,>=3.3.2->django)
Using cached https://files.pythonhosted.org/packages/0b/8e/f1a0a5a76cfef77e1eb6004cb49e5f8d72634da638420b9ea492ce8305e8/typing_extensions-4.4.0-py3-none-any.whl
Installing collected packages: pytz, typing-extensions, asgiref, sqlparse, django
Successfully installed asgiref-3.6.0 django-3.2.16 pytz-2022.7.1 sqlparse-0.4.3 typing-extensions-4.4.0
You are using pip version 19.0.3, however version 22.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(venv) PS C:\ws\sample>
由于收到了提示要更新pip,所以执行 python -m pip install –upgrade pip 来更新pip。
(venv) PS C:\ws\sample> python -m pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/09/bd/2410905c76ee14c62baf69e3f4aa780226c1bbfc9485731ad018e35b0cb5/pip-22.3.1-py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Successfully installed pip-22.3.1
(venv) PS C:\ws\sample>
创建项目
我会创建一个项目。该项目的名称将会是project。
命令是django-admin startproject project ./。
(venv) PS C:\ws\sample> django-admin startproject project ./
会创建一个名为”project”的文件夹。
修改project\settings.py文件的内容,将语言设置和时区设置改为日本。
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
- LANGUAGE_CODE = 'en-us'
+ LANGUAGE_CODE = 'ja'
- TIME_ZONE = 'UTC'
+ TIME_ZONE = 'Asia/Tokyo'
确认Django服务器是否已经启动。
使用命令 “python .\manage.py runserver” 启动 Django 服务器。
(venv) PS C:\ws\sample> python .\manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 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.
January 15, 2023 - 17:07:28
Django version 3.2.16, using settings 'project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[15/Jan/2023 17:09:29] "GET / HTTP/1.1" 200 10854
[15/Jan/2023 17:09:29] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[15/Jan/2023 17:09:29] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[15/Jan/2023 17:09:29] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[15/Jan/2023 17:09:29] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
Not Found: /favicon.ico
[15/Jan/2023 17:09:30] "GET /favicon.ico HTTP/1.1" 404 2111
在浏览器中打开网址 http://localhost:8000/。
在终端中,停止Django服务器的方法是按下Ctrl+C。
创建应用程序
我将创建一个应用程序,名为app01。
命令是 python ./manage.py startapp app01。
(venv) PS C:\ws\sample> python ./manage.py startapp app01
将创建一个名为app01的文件夹。
应用程序注册
在project\setings.py文件中注册已创建的应用程序到INSTALLED_APPS中。
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
+ 'app01',
]
应用程序实施
我将在应用程序中记录内容。
目标是 app01/views.py。
from django.shortcuts import render
# Create your views here.
+ def index(request):
+ message = {
+ 'text':'Hello',
+ }
+ return render(request, 'app01/index.html', message)
创建一个名为 index.html 的文件。
先在 app01 文件夹中创建一个名为 templates 的文件夹,然后在该文件夹中创建一个名为 app01 的文件夹。将 index.html 文件创建在 app01 文件夹的内部。
<!doctype html>
<html lang="ja">
<head>
<title>app01</title>
</head>
<body>
{{text}}
</body>
</html>
应用程序的URL注册
在 project/urls.py 文件中编写代码以调用创建的应用程序。
from django.contrib import admin
- from django.urls import path
+ from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
+ path('', include('app01.urls')),
]
进一步创建app01/urls.py。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
应用程序运行测试
启动Django服务器以确认应用程序的运行情况。
只需要实现应用程序。
这里是使用Bootstrap的方法。