Django 4 : インストール2024/05/31 |
Python Web アプリケーションフレームワーク Django をインストールします。 |
|
[1] | Python venv 環境で Django をインストールします。任意の一般ユーザーで実行可能です。 |
ubuntu@dlp:~$ python3 -m venv --system-site-packages ~/django ubuntu@dlp:~$ source ~/django/bin/activate (django) ubuntu@dlp:~$ pip3 install 'Django>=4,<5' Collecting Django<5,>=4 Downloading Django-4.2.13-py3-none-any.whl.metadata (4.1 kB) Collecting asgiref<4,>=3.6.0 (from Django<5,>=4) Downloading asgiref-3.8.1-py3-none-any.whl.metadata (9.3 kB) Collecting sqlparse>=0.3.1 (from Django<5,>=4) Downloading sqlparse-0.5.0-py3-none-any.whl.metadata (3.9 kB) Downloading Django-4.2.13-py3-none-any.whl (8.0 MB) Downloading asgiref-3.8.1-py3-none-any.whl (23 kB) Downloading sqlparse-0.5.0-py3-none-any.whl (43 kB) Installing collected packages: sqlparse, asgiref, Django Successfully installed Django-4.2.13 asgiref-3.8.1 sqlparse-0.5.0
(django) ubuntu@dlp:~$
django-admin --version 4.2.13 # venv から exit する場合は以下 (django) ubuntu@dlp:~$ deactivate ubuntu@dlp:~$ |
[2] | テストプロジェクトを作成して動作確認します。 UFW 稼働中、且つ、他ホストからも Django にアクセスする場合は、事前に管理者権限で使用するポートを許可しておく必要があります。 (下例の場合は [8000/tcp] を許可) |
ubuntu@dlp:~$
source ~/django/bin/activate
# testproject 作成 (django) ubuntu@dlp:~$ django-admin startproject testproject (django) ubuntu@dlp:~$ cd testproject # データベース設定 (デフォルトは SQLite) (django) ubuntu@dlp:~/testproject$ python manage.py migrate
# 管理者ユーザー作成 (django) ubuntu@dlp:~/testproject$ python manage.py createsuperuser Username (leave blank to use 'ubuntu'): ubuntu Email address: ubuntu@dlp.srv.world Password: Password (again): Superuser created successfully.
(django) ubuntu@dlp:~/testproject$
vi testproject/settings.py # 28行目 : 他ホストからもアクセスを許可する場合は設定 # 許可ホストはカンマ区切りで複数指定可 # または全て許可する場合は以下のように設定 ALLOWED_HOSTS = [ '*' ]
# サーバー起動 (django) ubuntu@dlp:~/testproject$ python manage.py runserver 0.0.0.0:8000 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). May 31, 2024 - 03:44:25 Django version 4.2.13, using settings 'testproject.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C. |
[4] | 任意のクライアントコンピューターで Web ブラウザーを起動し、[http://(サーバーのホスト名 または IP アドレス):8000/] にアクセスして、以下のようなページが表示されれば OK です。 |
[5] | [http://(サーバーのホスト名 または IP アドレス):8000/admin] にアクセスすると、管理用サイトが利用できます。設定した管理ユーザーでログイン可能です。 |
[6] | 作成したテストプロジェクトでテストアプリケーションを作成し、動作確認します。 |
ubuntu@dlp:~$
source ~/django/bin/activate
(django) ubuntu@dlp:~$
(django) ubuntu@dlp:~/testproject$ cd testproject python manage.py startapp test_app
(django) ubuntu@dlp:~/testproject$
vi test_app/views.py # 最終行に追記 from django.http import HttpResponse def main(request): html = '<html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'Django Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' return HttpResponse(html)
(django) ubuntu@dlp:~/testproject$
vi testproject/urls.py # 18, 22行目 : 以下のように追記 from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('test_app/', include('test_app.urls')), ]
(django) ubuntu@dlp:~/testproject$
vi test_app/urls.py # 新規作成 from django.urls import path from .views import main urlpatterns = [ path('', main, name='home') ]
(django) ubuntu@dlp:~/testproject$
vi testproject/settings.py # 33行目 : [INSTALLED_APPS] にテストアプリ追記
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'test_app',
)
(django) ubuntu@dlp:~/testproject$ python manage.py runserver 0.0.0.0:8000 |
[7] | 任意のクライアントコンピューターで Web ブラウザーを起動し、設定した URL [http://(サーバーのホスト名 または IP アドレス):8000/test_app/] にアクセスして、以下のようなページが表示されれば OK です。 |
Sponsored Link |