序章

Django開発シリーズをフォローしている場合は、Djangoアプリケーションを起動し、アプリケーションをMySQLに接続して、 PostsComments ブログWebアプリケーション内のデータ。

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

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

前提条件

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

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

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

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

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

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

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

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

  1. cd ~/my_blog_app/blog/blog/

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

  1. nano settings.py

The 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では、次のように入力してこれを行うことができます CTRLX それから Y その後 ENTER.

これで、 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.pyurls.py ファイルの場合、アプリケーションが管理者モデルと管理者ユーザーインターフェイスにアクセスできることがわかっています。

ステップ2—管理者がインストール済みアプリであることを確認します

次に、モデルをデータベースに移行して、新しく追加された管理モデルを取得できるようにする必要があります。

のディレクトリに移動します manage.py ファイルがあります。

  1. cd ~/my_blog_app/blog

を実行することを忘れないでください migrate に変更を加えるたびにコマンド models、 そのようです。

  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管理アカウントをまだ設定していない可能性があります。 次のステップでログインするために、管理者アカウントを作成できます。

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

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

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

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

  1. python manage.py createsuperuser

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

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

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

Output
Password: Password (again):

この時点で、ユーザー名を持つ管理者アカウントができました admin_user とパスワード admin123.

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

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

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

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

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

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

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

  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'),
]

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

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

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

2つを接続するには、登録する必要があります PostsComments の管理ファイル内のモデル blogsite.

に移動します blogsite ディレクトリ:

  1. cd ~/my_blog_app/blog/blogsite

次に、 admin.py 選択したテキストエディタでファイルを作成します。

  1. nano admin.py

ファイルには、インポートステートメントとコメントが入力されます。

admin.py
from django.contrib import admin

# Register your models here.

アプリをサポートするには、次のコードが含まれるようにファイルを編集する必要があります。

admin.py
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


admin.site.register(Post)
admin.site.register(Comment)

ファイルに問題がなければ、保存して終了します。

これで登録しました PostComment 管理パネル内のモデル。 これにより、管理インターフェースがこれらのモデルを取得し、ログインして管理ダッシュボードを表示しているユーザーに表示できるようになります。

ステップ6—ブログアプリが管理者に追加されたことを確認します

関連するPythonコードを追加したので、サーバーを実行します。 開ける http://your-server-ip:8000/admin まだログインしていない場合は、資格情報を使用して管理者にログインします。 このチュートリアルでは、ユーザー名でログインしています admin_user とパスワード admin123.

ログインしたので、次のWebページが表示されます。 以前から変更されていない場合は、ブラウザを更新する必要がある場合があります。

これにより、アプリが接続されたことを確認できます。 blogsite、Django管理ダッシュボードに。

アプリのテストが終了したら、を押すことができます CTRL + C Djangoサーバーの実行を停止します。 これにより、プログラミング環境に戻ります。

Python環境を離れる準備ができたら、 deactivate 指図:

  1. deactivate

プログラミング環境を非アクティブ化すると、ターミナルコマンドプロンプトに戻ります。

結論

このチュートリアルでは、管理インターフェースを正常に有効にし、管理者ログインを作成し、 PostComment 管理者とのモデル。

Django管理インターフェースは、ブログで投稿を作成したりコメントを監視したりする方法です。

シリーズで登場し、私たちは作成します views ブログアプリケーション用。