使用Django构建Web应用开发环境(第一部分)
首先
我之前曾使用Python创建了各种基于Python的网络爬虫应用程序和预测模型,但我从未尝试过使用Python进行Web系统开发,所以我考虑学习Django来尝试一下。
首先,我会整理一些简单的安装和启动方法。
运行环境
【本地PC环境-操作系统】
– Windows 10专业版
【软件包信息】
・Python3.9版本 + Django3.2
操作步骤
1.创建虚拟环境并安装Django
2.启动Django
3.启动示例应用程序
创建一个虚拟环境,并安装Django。
创建虚拟环境并进入该环境,在其中安装[Django]。
使用conda安装Django或使用pip安装Django。
如果不知道如何创建虚拟环境,请参考以下文章。
■ 使用Anaconda创建
【在Anaconda环境中创建虚拟环境】
如果不使用Anaconda,可以使用Python的venv来管理多个执行环境。
2. Django启动
※ 在cmd中进行操作
激活之前创建的虚拟环境。
想要在新项目创建的目录中移动,请移动至指定目录。
如果目录不存在,请提前创建。使用cd命令,并输入目录的路径。
创建项目
django-admin startproject [项目名称]
通过此命令,将创建以下【项目名称】的文件夹,并在其中创建以下文件。
-
- manage.py
-
- 【プロジェクト名】
_init_.py
asgi.py
settings.py
urls.py
wsgi.py
尝试启动Django。
`python manage.py runserver`
如果能够在浏览器中连接到http://localhost:8000,则确认启动成功。
3.启动示例应用程序
前往创建的项目,并展开Web应用程序的模板
cd ./[项目名称] ※移动到上级项目名称
python manage.py startapp [任意的应用程序名称]
通过该命令,在【项目名称】文件夹的根目录下创建【应用名称】文件夹,并在其中创建以下文件。
-
- migrations
_init_.py
_init_.py
admin.py
apps.py
models.py (アプリケーションのデータモデル)
tests.py
views.py

提前创建一个用于存放HTML等模板的文件夹。⇒ [html_template]
# Build paths inside the project like this: BASE_DIR / 'subdir'.
from pathlib import Path
import os # デフォルトからの追記部分
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
HTML_TEMPLATE_DIR = os.path.join(BASE_DIR, 'html_template')) # テンプレートフォルダの場所を記載。
# 省略---------------------------
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'test_app' # デフォルトからの追記部分
]
# 省略---------------------------
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [HTML_TEMPLATE_DIR,], # デフォルトからの変更部分
'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',
],
},
},
]
# 省略---------------------------
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
from test_app import views # デフォルトからの追記部分
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'), # デフォルトからの追記部分 第1引数:URLアクセスする際の、Rootからのパス、第2引数:httpレスポンスしてくれる関数を呼び出してる
path('test_app/', include('test_app.urls'), # デフォルトからの追記部分
]
# 省略---------------------------
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
test_dict = {'temp_str': "This is test String"} # KEY='temp_str'、VALUE='This is test String' として、html呼び出し時などに渡せる。
return render(request, 'index.html', context=test_dict) # [html_template] から呼び出し、
# return HttpResponse("Hello Django!") # 最もシンプルな Hello Worldを出す場合
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>テストタイトル</title>
</head>
<body>
<h1>見出し1</h1>
{{ temp_str }}
</body>
</html>
from django.urls import path
from test_app import views
urlpatterns = [
path('', views.index, name='index'),
]
# 省略---------------------------
确认启动”Hello Django”。
使用python manage.py runserver命令启动Django。
在浏览器中访问以下URL,如果显示”Hello Django”则表示正常。
– http://localhost:8000
– http://localhost:8000/test_app