序章

Django開発シリーズをフォローしている場合は、Djangoアプリケーションを起動し、アプリケーションをMySQLに接続して、PostsおよびCommentsのデータベースモデルを作成しました。 ]ブログWebアプリケーション内のデータ。

このチュートリアルでは、 Django管理サイトに接続して有効にし、ブログWebサイトを管理できるようにします。 Django管理サイトには、あなたや他の信頼できる個人がWebサイトのコンテンツを管理できるように設計されたユーザーインターフェイスがあらかじめ構築されています。

Djangoの公式ドキュメントでは、これは組織の内部使用には理想的ですが、自動生成されたDjango管理インターフェースを中心にWebアプリケーションを構築することは推奨されないことを指摘していることは注目に値します。 インターフェイスをよりプロセス中心にする必要がある場合、またはデータベーステーブルとフィールドの実装の詳細を抽象化することがわかった場合は、管理者側用に独自のビューを作成するのが最適です。

前提条件

このチュートリアルは、 Django開発シリーズの一部であり、そのシリーズの続きです。

このシリーズに従わなかった場合は、次のことを前提としています。

  • Djangoバージョン3以降がインストールされています。
  • Djangoアプリをデータベースに接続しました。 MySQLを使用しています。この接続は、Djangoシリーズのパート2「Djangoアプリを作成してデータベースに接続する方法」に従うことで実現できます。
  • Unixベースのオペレーティングシステム、できればUbuntu 20.04クラウドサーバーを使用しています。これは、私たちがテストしたシステムです。 同様の環境でDjangoをセットアップする場合は、チュートリアル「 Ubuntu20.04でDjangoをインストールして開発環境をセットアップする方法」を参照してください。

このチュートリアルは主にDjango管理インターフェースを扱っているため、設定が多少異なる場合でも従うことができる場合があります。

ステップ1—管理者を有効にする

PythonとDjangoで作業を開始するときはいつでも、Python仮想環境をアクティブにして、アプリのルートディレクトリに移動する必要があります。 シリーズをフォローしている場合は、次のように入力することでこれを実現できます。

  1. cd ~/my_blog_app
  2. . env/bin/activate

Django Adminを有効にするには、アプリがsettings.pyファイルのINSTALLED_APPSのリストに含まれていることを確認する必要があります。

設定ファイルのディレクトリに移動します。

  1. cd ~/my_blog_app/blog/blog/

ここから、settings.pyファイルを開きます。 まだ存在しない場合は、nanoなどのテキストエディタを使用して、django.contrib.adminINSTALLED_APPSのリストに追加します。

  1. nano settings.py

ファイルのINSTALLED_APPSセクションは、以下のファイルのようになっているはずです。 リストのアプリは一番上にある'blogsite',ですが、別の名前のアプリを作成した場合は、そのアプリが図のようにこのファイルにリストされていることを確認してください。

settings.py
...
# Application definition
INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
...

変更を加えた場合は、必ずファイルを保存して閉じてください。 nanoでは、CTRLXYENTERの順に入力してこれを行うことができます。

これで、urls.pyファイルをnanoまたは別のテキストエディタで開くことができます。

  1. nano urls.py

上部のコメントの下で、ファイルは次のようになります。

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ファイルがあるディレクトリに移動します。

  1. cd ~/my_blog_app/blog

modelsに変更を加えるときは、必ずmigrateコマンドを実行してください。

  1. python manage.py migrate

上記のファイルに変更を加えなかった場合、migrateコマンドを実行すると、次のような出力が表示されます。

Output
Operations to perform: Apply all migrations: admin, auth, blogsite, contenttypes, sessions Running migrations: No migrations to apply.

それ以外の場合、出力は、Djangoがアプリをサポートするために必要な移行を行ったことを示しているはずです。

これで、次のコマンドを実行してサーバーを起動できます。 0.0.0.0を自分のIPアドレスに置き換えることができます。

  1. python manage.py runserver 0.0.0.0:8000

次に、選択したブラウザで管理パネルのURLに移動します。 サーバーのIPアドレスを必ず入力してください。

http://your-server-ip:8000/admin/

このようなログイン画面が表示されます。

Django Admin Login Screen

この画面が表示されると、管理アプリが正常に有効になったことを確認できます。

アプリを有効にしましたが、Django管理アカウントをまだ設定していない可能性があります。 次のステップでログインするために、管理者アカウントを作成できます。

ステップ3—管理者スーパーユーザーアカウントを作成する

すでに管理者アカウントを設定していて、管理者ページにログインできる場合は、この手順をスキップできます。

新しいターミナルを開いてサーバーに接続するか、CTRLCを押してDjangoアプリを無効にして、サーバーターミナルのプログラミング環境で作業できるようにします。

Djangoを使用すると、スーパーユーザーアカウントを生成できます。これは、manage.pyファイルを実行してスーパーユーザーの作成プロセスを開始することで実行できます。

  1. python manage.py createsuperuser

そうすると、ユーザー名、メールアドレス、パスワードの詳細を入力するよう求められます。 このチュートリアルでは、ユーザー名admin_user、メールアドレス[email protected]、パスワードadmin123で管理者アカウントを作成します。 この情報を自分の好みで入力し、覚えやすい安全なパスワードを使用するようにしてください。

Output
Username (leave blank to use 'root'): admin_user Email address: [email protected]

次に、Password:プロンプトが表示されたら、パスワードを2回入力します。 パスワードを入力しても、パスワードのキーストロークからの出力は受信されません。 各プロンプトの後にEnterキーを押して、パスワードを確認します。

Output
Password: Password (again):

この時点で、ユーザー名admin_userとパスワードadmin123の管理者アカウントが作成されました。

ログインして、管理ページに何が存在するかを調べてみましょう。

必要に応じて、python manage.py runserver 0.0.0.0:8000を使用してDjangoアプリを再度実行し、もう一度URL http://your-server-ip:8000/admin/に移動して、管理者ログインページにアクセスします。 次に、作成したユーザー名とパスワードおよびパスワードを使用してログインします。

ログインに成功すると、次のページが表示されます。

Django Admin Panel

次に、ブログアプリを管理パネルに接続する作業を行う必要があります。

ステップ4—投稿とコメントのURLパターンを作成する

前の手順では、管理インターフェースに正常にログインしましたが、ブログアプリがまだ利用できないことに気付いたかもしれません。 管理インターフェースにブログアプリを追加するには、関連するモデルPostおよびCommentに追加して登録する必要があります。

これを行うには、次のように、blogsiteディレクトリにurls.pyという名前の空のファイルを作成します。

  1. touch ~/my_blog_app/blog/blogsite/urls.py

このファイルでは、ブログアプリケーションのURLパターンを追加して、管理インターフェイスからアクセスできるようにします。

作成したurls.pyファイルの場所に移動します。

  1. cd ~/my_blog_app/blog/blogsite/

次に、たとえば、nanoでファイルを開きます。

  1. nano urls.py

次のコード行をファイルに追加します。

urls.py
from django.urls import path
from . import views
urlpatterns = [
    path('$/', views.posts, name='posts'),
    path('$/', views.comments, name='comments'),
]

これらは、アプリケーションがPostsおよびCommentsviewsにアクセスできるようにするために必要なURLパターン式です。 これらのviewsはまだ作成していませんが、シリーズの後半で説明します。

ステップ5—ブログアプリを管理者に接続する

ブログを管理インターフェースに接続すると、管理ダッシュボード内にPostsCommentsの両方のリンクが表示されます。 現在、ダッシュボードにはGroupsUsersのリンクのみが表示されています。

2つを接続するには、[X51X]