使用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

Qiita-no044_img02.jpg

提前创建一个用于存放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

bannerAds