Python | プログラミング学習 Djang.[在庫管理] #04.01

django004.01

PythonのWebアプリケーションフレームワーク”Django”について無料で学習します。
在庫管理アプリを作るよ!

準備

※仮想環境”venv”にて進めます。

環境

環境version備考(コマンド)
Rocky Linux8.4cat /etc/redhat-release
Python3.6.8python -V
Django3.2django-admin –version

プロジェクト生成

django-admin startproject orderPro

アプリケーション生成

python manage.py startapp orderApp

urls

プロジェクトのurlsを編集します。

プロジェクトのurlsからアプリケーションのurlsを参照する!

orderPro/orderPro/urls.py
from django.contrib import admin
from django.urls import path
# include
from django.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),
    # order
    path('orderApp/', include('orderApp.urls')),
]
orderPro/orderApp/urls.py
from django.urls import path
# view.pyをインポート
from . import views

# path(呼び出しアドレス, viewの呼び出す関数, path名)
urlpatterns = [
    path('test', views.index, name='test'),
]

セッティング

ホストは28行を編集

orderPro/orderPro/settings.py
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # orderApp
    'orderApp',
]
from pathlib import Path
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# template
TEMPLATE_DIR = os.path.join(BASE_DIR,"Template")

# static
STATIC_DIR = os.path.join(BASE_DIR,"static")
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [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',
            ],
        },
    },
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATIC_DIR,
]

全体構成

★は作成する事

orderPro
|-- Template★
|   `-- AppHTML
|-- manage.py
|-- orderApp
|   |-- __init__.py
|   |-- admin.py
|   |-- apps.py
|   |-- migrations
|   |   `-- __init__.py
|   |-- models.py
|   |-- tests.py
|   `-- views.py
|-- orderPro
|   |-- __init__.py
|   |-- __pycache__
|   |   |-- __init__.cpython-36.pyc
|   |   `-- settings.cpython-36.pyc
|   |-- asgi.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- static★
    |-- AppCss
    `-- images

テスト環境

テストテンプレート

orderPro/Template/AppHTML/test.html
<!DOCTYPE html>
{% load static %}

<html lang="ja" dir="ltr">
 <head>
   <meta charset="utf-8">
   <title>Django Page</title>

<link rel="stylesheet" href='{% static "App_css/style.css" %}'/>
 </head>

 <body>
   <h1> Hello World</h1>
   <p> テンプレートテスト</p>
   <p> {{message_me}}</p>
 </body>

</html>

アプリケーションのurls

orderPro/orderApp/urls.py
from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse

def test(request):
    params = {"message_me" : "Hello World"}
    return render(request, 'AppHTML/test.html', context=params)

起動

python manage.py runserver 0.0.0.0:8000

結果

http://192.168.0.100:8000/orderApp/test
タイトルとURLをコピーしました