Django管理インターフェースを有効にして接続する方法
序章
Django開発シリーズをフォローしている場合は、Djangoアプリケーションを起動し、アプリケーションをMySQLに接続して、 Posts
と Comments
ブログWebアプリケーション内のデータ。
このチュートリアルでは、 Django管理サイトに接続して有効にし、ブログWebサイトを管理できるようにします。 Django管理サイトには、あなたや他の信頼できる個人がWebサイトのコンテンツを管理できるように設計されたユーザーインターフェイスがあらかじめ構築されています。
Djangoの公式ドキュメントでは、これは組織の内部使用には理想的ですが、自動生成されたDjango管理インターフェースを中心にWebアプリケーションを構築することは推奨されないことを指摘していることは注目に値します。 インターフェイスをよりプロセス中心にする必要がある場合、またはデータベーステーブルとフィールドの実装の詳細を抽象化することがわかった場合は、管理者側用に独自のビューを作成するのが最適です。
前提条件
このチュートリアルはDjango開発シリーズの一部であり、そのシリーズの続きです。
このシリーズに従わなかった場合は、次のことを前提としています。
- You have Django version 4 or higher installed.
- Djangoアプリをデータベースに接続しました。 MySQLを使用しています。この接続は、Djangoシリーズのパート2「Djangoアプリを作成してデータベースに接続する方法」に従うことで実現できます。
- You are working with a Unix-based operating system, preferably an Ubuntu 22.04 cloud server as this is the system we have tested on. If you would like to set up Django on a similar environment, please refer to our tutorial, “How To Install Django and Set Up a Development Environment on Ubuntu 22.04.
このチュートリアルは主にDjango管理インターフェースを扱っているため、設定が多少異なる場合でも従うことができる場合があります。
ステップ1—管理者を有効にする
PythonとDjangoで作業を開始するときはいつでも、Python仮想環境をアクティブにして、アプリのルートディレクトリに移動する必要があります。 シリーズをフォローしている場合は、次のように入力することでこれを実現できます。
- cd ~/my_blog_app
- . env/bin/activate
Django Adminを有効にするには、アプリが次のリストに含まれていることを確認する必要があります INSTALLED_APPS
の中に settings.py
ファイル。
設定ファイルのディレクトリに移動します。
- cd ~/my_blog_app/blog/blog/
ここから、 settings.py
ファイル。 まだ存在しない場合は、追加します django.contrib.admin
のリストに INSTALLED_APPS
、nanoのようなテキストエディタを使用します。
- nano settings.py
The INSTALLED_APPS
ファイルのセクションは、以下のファイルのようになっている必要があります。 リストにある私たちのアプリは一番上にあります、 'blogsite',
ただし、別の名前のアプリを作成した場合は、そのアプリが図のようにこのファイルにリストされていることを確認してください。
...
# Application definition
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
変更を加えた場合は、必ずファイルを保存して閉じてください。 nanoでは、次のように入力してこれを行うことができます CTRL
と X
それから Y
その後 ENTER
.
これで、 urls.py
ファイル、これもnanoまたは別のテキストエディタを使用します。
- nano urls.py
上部のコメントの下で、ファイルは次のようになります。
…
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
ファイルが上記のものと異なる場合は、上記の行をコピーして、 urls.py
ファイル。
これで、DjangoWebプロジェクトに適切なコードが含まれていることを確認できました。 settings.py
と urls.py
ファイルの場合、アプリケーションが管理者モデルと管理者ユーザーインターフェイスにアクセスできることがわかっています。
ステップ2—管理者がインストール済みアプリであることを確認します
次に、モデルをデータベースに移行して、新しく追加された管理モデルを取得できるようにする必要があります。
のディレクトリに移動します manage.py
ファイルがあります。
- cd ~/my_blog_app/blog
を実行することを忘れないでください migrate
に変更を加えるたびにコマンド models
、 そのようです。
- python manage.py migrate
上記のファイルに変更を加えなかった場合、実行時に次のような出力を受け取るはずです。 migrate
指図。
OutputOperations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.
それ以外の場合、出力は、Djangoがアプリをサポートするために必要な移行を行ったことを示しているはずです。
これで、次のコマンドを実行してサーバーを起動できます。 交換できます 0.0.0.0
あなたのIPアドレスで。
- python manage.py runserver 0.0.0.0:8000
次に、選択したブラウザで管理パネルのURLに移動します。 サーバーのIPアドレスを必ず入力してください。
http://your-server-ip:8000/admin/
このようなログイン画面が表示されます。
この画面が表示されると、管理アプリが正常に有効になったことを確認できます。
アプリを有効にしましたが、Django管理アカウントをまだ設定していない可能性があります。 次のステップでログインするために、管理者アカウントを作成できます。
ステップ3—管理者スーパーユーザーアカウントを作成する
すでに管理者アカウントを設定していて、管理者ページにログインできる場合は、この手順をスキップできます。
新しいターミナルを開いてサーバーに接続するか、を押してDjangoアプリを無効にします CTRL
と C
サーバー端末のプログラミング環境で作業できるようにします。
Djangoを使用すると、スーパーユーザーアカウントを生成できます。これは、 manage.py
スーパーユーザーの作成プロセスを開始するファイル。
- python manage.py createsuperuser
そうすると、ユーザー名、メールアドレス、パスワードの詳細を入力するよう求められます。 このチュートリアルでは、ユーザー名を使用して管理者アカウントを作成します admin_user
、 Eメール [email protected]
とパスワード admin123
. この情報を自分の好みで入力し、覚えやすい安全なパスワードを使用するようにしてください。
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
次に、パスワードが表示されたら、パスワードを2回入力します。 Password:
促す。 パスワードを入力しても、パスワードのキーストロークからの出力は受信されません。 各プロンプトの後にEnterキーを押して、パスワードを確認します。
OutputPassword:
Password (again):
この時点で、ユーザー名を持つ管理者アカウントができました admin_user
とパスワード admin123
.
ログインして、管理ページに何が存在するかを調べてみましょう。
必要に応じて、Djangoアプリをもう一度実行します python manage.py runserver 0.0.0.0:8000
次に、もう一度URLに移動します http://your-server-ip:8000/admin/
管理者ログインページにアクセスします。 次に、作成したユーザー名とパスワードおよびパスワードを使用してログインします。
ログインに成功すると、次のページが表示されます。
次に、ブログアプリを管理パネルに接続する作業を行う必要があります。
ステップ4—投稿とコメントのURLパターンを作成する
前の手順では、管理インターフェースに正常にログインしましたが、ブログアプリがまだ利用できないことに気付いたかもしれません。 管理インターフェースにブログアプリを追加するには、関連するモデルに追加して登録する必要があります Post
と Comment
.
これを行うには、という名前の空のファイルを作成します urls.py
、 の中に blogsite
ディレクトリ、そのように:
- touch ~/my_blog_app/blog/blogsite/urls.py
このファイルでは、ブログアプリケーションのURLパターンを追加して、管理者インターフェイスからアクセスできるようにします。
その場所に移動します urls.py
作成したファイル。
- cd ~/my_blog_app/blog/blogsite/
次に、たとえば、nanoでファイルを開きます。
- nano urls.py
次のコード行をファイルに追加します。
from django.urls import path
from . import views
urlpatterns = [
path('$/', views.posts, name='posts'),
path('$/', views.comments, name='comments'),
]
これらは、アプリケーションがにアクセスできるようにするために必要なURLパターン式です。 views
為に Posts
と Comments
. 私たちはそれらを作成していません views
まだですが、これについてはシリーズの後半で説明します。
ステップ5—ブログアプリを管理者に接続する
ブログを管理インターフェースに接続すると、両方のリンクを表示できます。 Posts
と Comments
管理ダッシュボード内。 現在、ダッシュボードには次のリンクのみが表示されています Groups
と Users
.
2つを接続するには、登録する必要があります Posts
と Comments
の管理ファイル内のモデル blogsite
.
に移動します blogsite
ディレクトリ:
- cd ~/my_blog_app/blog/blogsite
次に、 admin.py
選択したテキストエディタでファイルを作成します。
- nano admin.py
ファイルには、インポートステートメントとコメントが入力されます。
from django.contrib import admin
# Register your models here.
アプリをサポートするには、次のコードが含まれるようにファイルを編集する必要があります。
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment
admin.site.register(Post)
admin.site.register(Comment)
ファイルに問題がなければ、保存して終了します。
これで登録しました Post
と Comment
管理パネル内のモデル。 これにより、管理インターフェースがこれらのモデルを取得し、ログインして管理ダッシュボードを表示しているユーザーに表示できるようになります。
ステップ6—ブログアプリが管理者に追加されたことを確認します
関連するPythonコードを追加したので、サーバーを実行します。 開ける http://your-server-ip:8000/admin
まだログインしていない場合は、資格情報を使用して管理者にログインします。 このチュートリアルでは、ユーザー名でログインしています admin_user
とパスワード admin123
.
ログインしたので、次のWebページが表示されます。 以前から変更されていない場合は、ブラウザを更新する必要がある場合があります。
これにより、アプリが接続されたことを確認できます。 blogsite
、Django管理ダッシュボードに。
アプリのテストが終了したら、を押すことができます CTRL
+ C
Djangoサーバーの実行を停止します。 これにより、プログラミング環境に戻ります。
Python環境を離れる準備ができたら、 deactivate
指図:
- deactivate
プログラミング環境を非アクティブ化すると、ターミナルコマンドプロンプトに戻ります。
結論
このチュートリアルでは、管理インターフェースを正常に有効にし、管理者ログインを作成し、 Post
と Comment
管理者とのモデル。
Django管理インターフェースは、ブログで投稿を作成したりコメントを監視したりする方法です。
シリーズで登場し、私たちは作成します views
ブログアプリケーション用。