LinuxでDjangoアプリケーションを作成する手順を覚えてください.
6435 ワード
0環境と目標
0.1環境サーバ側 オペレーティングシステム:Ubuntu 14.04.2 LTS 運転時:Python 3.4.0 クライアント ブラウザ:Firefox 37.10.1 データベースクライアント:Navicat Premium 11.1.10
0.2ターゲット
サーバー側でDjangoプロジェクトを開始し、PostgreSQLデータベースを採用します.
0.3ポイント Django取付 PostgreSQLインストール Django初期化データベース Djangoサービス を開始
1実施
1.1 Django準備
1.1.1 Djangoのインストール
ここに最新のDjangoをインストールします
Djangoを既存のベースでアップグレードしてインストールする場合は、次のコマンドを入力します.
pipは古いバージョンのDjangoをアンインストールして最新版をインストールします.なお、ここで使用するコマンドは
1.1.2 Djangoプロジェクトの作成
ここではまずteamteaというプロジェクトを作成します
そう、Djangoのエンジニアリング管理コマンド
1.2 PostgreSQL準備
1.2.1 PostgreSQLのインストール
Ubuntu公式ソースのPostgreSQLはいつも小さなバージョンが遅く、バージョン管理が不快なので、公式サイトの説明に従って最新版をインストールしました.まず、PostgreSQLの公式ソースをaptソースリストに追加します.
ここではUbuntu 14.04のソースについて、他のバージョンのシステムはドキュメントに関連するソースを見つけることができます.次に、ソースの署名をインポートします.
これでPostgreSQLの公式ソースをソースリストに追加します.次に、パッケージリストを更新し、使用する
これでPostgreSQL 9.4の基本的なインストールが完了しました.同様に、ここでのデータベース・バージョンの選択は純粋に個人の好みのため、実際の開発と生産の過程で必要に応じてバージョンを選択する必要があります.
1.2.2アクセス権の構成
PostgreSQLのインストールが完了すると、自動的にシステムにpostgresという名前のユーザー、すなわちPostgreSQL Administratorユーザーが作成されます.PostgreSQLに対する操作はこのユーザーが行うことが望ましいので、rootユーザーの使用は避けましょう.このユーザーを使用するには、まずパスワードを変更する必要があります.
postgresユーザーパスワードとアクセス
以上はオペレーティングシステムのpostgresユーザーの操作であり、データベース管理システムにもユーザーの概念があることを知っています.PostgreSQLの管理者ユーザーもpostgresで、それを使ってデータベースを管理するためにもパスワードを設定する必要があります.まずpostgresユーザーの下にログインし、
その後、PostgreSQLの管理プログラム
このときコマンドプロンプトは
その後postgresユーザーのアクセス制御項目を変更し、/etc/postgresql/9.4/main/pg_を編集hba.confファイル、
次のように変更
プロファイルを再読み込みして変更を有効にします.
注意Debian系のLinuxは
クライアント上のNavicatがPostgreSQLを登録管理できるようにするには、ネットワークポートの傍受を開始する必要があり、/etc/postgresql/9.4/main/postgresqlを編集する.confファイル、
次のように変更
注意、ここでは行頭の注釈を外します.同様に、プロファイルを再読み込みして変更を有効にします.
1.2.3アプリケーション・ユーザーとデータベースの作成
Navicat接続でPostgreSQLデータベースを管理できるようになりました.グラフィックスインタフェースの下でユーザーとデータベースを簡単に作成できます.ここではアプリケーションと同じ名前のユーザーとデータベースを作成すればいいです.すべて
同様にアクセス権を追加し、/etc/postgresql/9.4/main/pg_を編集する必要があります.hba.confファイル、行を追加
ここでは、ユーザーteamteaがteamteaという名前のデータベースにのみアクセスできることを制限します.これはアプリケーションにとって十分であり、データベースシステム全体にとって安全です.上記の作業が完了するとpostgresユーザーを終了できます.
1.3 Djangoの構成、サービスの開始
1.3.1 Djangoの構成
Django接続PostgreSQLはpsycopg 2ドライバに依存し、プロジェクトを初期化する前にこのパッケージをインストールする必要があります.
これは、gcc、make、および上にインストールされているpostgresql-server-dev-9.4などのパッケージに依存してコンパイルプロセスに関連し、インストールに失敗した場合は、プロンプトに従って依存をインストールする必要があります.
Djangoプロジェクトteamteaの構成を開始できます.プロジェクトディレクトリに入り、ファイル/teamtea/settingsを編集します.pyファイル、データベース構成項目をに変更する
データベース構成項目については、公式ドキュメントを参照してください.
ここで同時に工事のタイムゾーンをUTC+8すなわち北京時間に設定し、タイムゾーンの配置項目を
1.3.2初期化項目
プロジェクトを初期化できるようになりました.Django 1.7から既存のデータベース同期コマンド
なお、Djangoは、Python 3の実環境に
1.3.3サービスの開始
Djangoに内蔵された簡単なテスト用Webサーバを起動して、プロジェクト全体が稼働できるかどうかをテストできます.
ここではIPとポート番号を指定する必要があります.そうしないと、ローカルでしかアクセスできません.ユーザーマシンのブラウザを開き、http://IP:8000デバッグ用のページが表示され、プログラムが正常に動作していることを示します.サービスを終了するには、
2まとめ
2.1プロセスのまとめ
全体の過程はやはり熟知していないため多くの回り道を歩いて、特に私のショートボードのデータベースのこの1枚で、PostgreSQLに対してまだ学習を強化する必要があります.
2.2またできる仕事
学習用の工程構築過程として,こちらの文章で述べた手順は無理に足りるが,まだ粗末に見え,virtualenvを用いて開発環境を管理し,直接実環境で開発を行うことを避けるなど,多くの仕事ができる.gitを使用してバージョン制御を行うこともできます.これは学習段階でも必要です.毎回正常に実行できるコードをメモし、ある変更後にプログラムが実行できず、何の見当もつかない気まずい状況を防ぐのに役立ちます.もちろん、webアプリケーションを導入するにはuwsgi+nginxの方法も使用できますが、これはもっと複雑で、Djangoの学習にとって意味がなく、別のテーマとして検討することができます.
0.1環境
0.2ターゲット
サーバー側でDjangoプロジェクトを開始し、PostgreSQLデータベースを採用します.
0.3ポイント
1実施
1.1 Django準備
1.1.1 Djangoのインストール
ここに最新のDjangoをインストールします
$sudo pip3 install django
Djangoを既存のベースでアップグレードしてインストールする場合は、次のコマンドを入力します.
$sudo pip3 install django --upgrade
pipは古いバージョンのDjangoをアンインストールして最新版をインストールします.なお、ここで使用するコマンドは
sudo pip3
であり、単純にpip
を使用するのではなく、virtualenv環境でインストールされていないため、すべての操作はオペレーティングシステムの実環境で完了しているが、UbuntuのデフォルトのPython環境はPython 2であり、多くのシステムベースソフトウェアはこのバージョンのPythonに基づいて開発されている.強制的にデフォルトに変更するとPython 3はいろいろな卵が痛い場合に遭遇します(なぜ知っているのか聞かないでください).この方式を採用したのは、ここは私個人が練習したプロジェクトにすぎず、生産的な意味がなく、サボって隔離制御を厳格にしていないからだ.生産上の開発導入では、複数のバージョンが並列に使用されることがよくありますが、実際の状況に応じて開発と生産環境を構成する必要があります.ここでは詳細な議論はしません.1.1.2 Djangoプロジェクトの作成
ここではまずteamteaというプロジェクトを作成します
$cd workspace/django
$django-admin starproject teamtea
そう、Djangoのエンジニアリング管理コマンド
django-admin
を直接使用できるようになりました.ここでは、プロジェクトを作成してから片側に置いて、後で構成します.1.2 PostgreSQL準備
1.2.1 PostgreSQLのインストール
Ubuntu公式ソースのPostgreSQLはいつも小さなバージョンが遅く、バージョン管理が不快なので、公式サイトの説明に従って最新版をインストールしました.まず、PostgreSQLの公式ソースをaptソースリストに追加します.
/etc/apt/source.list.d/
ディレクトリの下にpgdg.list
ファイルを作成します.ファイルの内容はdeb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
ここではUbuntu 14.04のソースについて、他のバージョンのシステムはドキュメントに関連するソースを見つけることができます.次に、ソースの署名をインポートします.
$wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
これでPostgreSQLの公式ソースをソースリストに追加します.次に、パッケージリストを更新し、使用する
postgresql-9.4
とpostgresql-server-dev-9.4
の2つのパッケージをインストールします.$sudo apt-get update
$sudo apt-get install postgresql-9.4 postgresql-server-dev-9.4
これでPostgreSQL 9.4の基本的なインストールが完了しました.同様に、ここでのデータベース・バージョンの選択は純粋に個人の好みのため、実際の開発と生産の過程で必要に応じてバージョンを選択する必要があります.
1.2.2アクセス権の構成
PostgreSQLのインストールが完了すると、自動的にシステムにpostgresという名前のユーザー、すなわちPostgreSQL Administratorユーザーが作成されます.PostgreSQLに対する操作はこのユーザーが行うことが望ましいので、rootユーザーの使用は避けましょう.このユーザーを使用するには、まずパスワードを変更する必要があります.
$sudo passwd postgres
postgresユーザーパスワードとアクセス
以上はオペレーティングシステムのpostgresユーザーの操作であり、データベース管理システムにもユーザーの概念があることを知っています.PostgreSQLの管理者ユーザーもpostgresで、それを使ってデータベースを管理するためにもパスワードを設定する必要があります.まずpostgresユーザーの下にログインし、
$su postgres
その後、PostgreSQLの管理プログラム
psql
にアクセスします.この場合、アクセス制御項目のデフォルトはpeer
であり、ローカルオペレーティングシステム上のpostgresユーザーのみがアクセスできるため、パスワードは必要ありません.$psql
このときコマンドプロンプトは
postgres=#
となり、psql
環境に入ることを説明し、パスワードを設定し、postgres=# \password
psql
環境を終了し、postgres=# \q
その後postgresユーザーのアクセス制御項目を変更し、/etc/postgresql/9.4/main/pg_を編集hba.confファイル、
local all postgres peer
次のように変更
local all postgres md5
プロファイルを再読み込みして変更を有効にします.
$pg_ctlcluster 9.4 main reload
注意Debian系のLinuxは
pg_ctlcluster
コマンドを採用しており、pg_ctl
コマンドではありません.このときpsql
を再利用するにはパスワードを入力する必要があります.クライアント上のNavicatがPostgreSQLを登録管理できるようにするには、ネットワークポートの傍受を開始する必要があり、/etc/postgresql/9.4/main/postgresqlを編集する.confファイル、
#listen_addresses = 'localhost'
次のように変更
listen_addresses = '*'
注意、ここでは行頭の注釈を外します.同様に、プロファイルを再読み込みして変更を有効にします.
1.2.3アプリケーション・ユーザーとデータベースの作成
Navicat接続でPostgreSQLデータベースを管理できるようになりました.グラフィックスインタフェースの下でユーザーとデータベースを簡単に作成できます.ここではアプリケーションと同じ名前のユーザーとデータベースを作成すればいいです.すべて
teamtea
と名付けられています.同様にアクセス権を追加し、/etc/postgresql/9.4/main/pg_を編集する必要があります.hba.confファイル、行を追加
local teamtea teamtea md5
ここでは、ユーザーteamteaがteamteaという名前のデータベースにのみアクセスできることを制限します.これはアプリケーションにとって十分であり、データベースシステム全体にとって安全です.上記の作業が完了するとpostgresユーザーを終了できます.
1.3 Djangoの構成、サービスの開始
1.3.1 Djangoの構成
Django接続PostgreSQLはpsycopg 2ドライバに依存し、プロジェクトを初期化する前にこのパッケージをインストールする必要があります.
$sudo pip3 install psycopg2
これは、gcc、make、および上にインストールされているpostgresql-server-dev-9.4などのパッケージに依存してコンパイルプロセスに関連し、インストールに失敗した場合は、プロンプトに従って依存をインストールする必要があります.
Djangoプロジェクトteamteaの構成を開始できます.プロジェクトディレクトリに入り、ファイル/teamtea/settingsを編集します.pyファイル、データベース構成項目をに変更する
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'teamtea',
'USER': 'teamtea',
'PASSWORD': 'teamtea',
'HOST': 'localhost',
'PORT': '5432',
}
}
データベース構成項目については、公式ドキュメントを参照してください.
ここで同時に工事のタイムゾーンをUTC+8すなわち北京時間に設定し、タイムゾーンの配置項目を
TIME_ZONE = 'Asia/Shanghai'
1.3.2初期化項目
プロジェクトを初期化できるようになりました.Django 1.7から既存のデータベース同期コマンド
syncdb
をdeprecatedとマークし、1.9でこのコマンドを完全に削除しました.代わりにmigrate
コマンドです.python3 manage.py migrate
なお、Djangoは、Python 3の実環境に
pip3
を介してインストールされているため、manageが実行する.pyスクリプトを実行する前にPython 3を指定する必要があります.そうしないとDjangoが見つかりません.virtualenvを使用すると改善されます.1.3.3サービスの開始
Djangoに内蔵された簡単なテスト用Webサーバを起動して、プロジェクト全体が稼働できるかどうかをテストできます.
python3 manage.py runserver 0.0.0.0:8000
ここではIPとポート番号を指定する必要があります.そうしないと、ローカルでしかアクセスできません.ユーザーマシンのブラウザを開き、http://IP:8000デバッグ用のページが表示され、プログラムが正常に動作していることを示します.サービスを終了するには、
Ctrl-C
でプロセスを終了すればよい.2まとめ
2.1プロセスのまとめ
全体の過程はやはり熟知していないため多くの回り道を歩いて、特に私のショートボードのデータベースのこの1枚で、PostgreSQLに対してまだ学習を強化する必要があります.
2.2またできる仕事
学習用の工程構築過程として,こちらの文章で述べた手順は無理に足りるが,まだ粗末に見え,virtualenvを用いて開発環境を管理し,直接実環境で開発を行うことを避けるなど,多くの仕事ができる.gitを使用してバージョン制御を行うこともできます.これは学習段階でも必要です.毎回正常に実行できるコードをメモし、ある変更後にプログラムが実行できず、何の見当もつかない気まずい状況を防ぐのに役立ちます.もちろん、webアプリケーションを導入するにはuwsgi+nginxの方法も使用できますが、これはもっと複雑で、Djangoの学習にとって意味がなく、別のテーマとして検討することができます.