Djangoに触れてみる
再スタート
ひとまず心のモヤモヤも晴れ、やっと本筋に戻ることができました。心なしか、以前よりテキスト読みやすくなった気がします。
たぶん気のせい。
仮想OS上でWebサーバを動かす
閑話休題(使ってみたかっただけ)
3週間も経ってどこまでやったかあやふやですが、確かWin10のPC上の仮想マシンにCentOS7をインストールするところまでやっていました。
Webサーバソフトをインストール
CentOSにWebサーバ機能を持たせます。 Webサーバといえば、apacheが有名で、今読んでいるテキストもそれを導入しています。
しかし最近はnginx(エンジンエックス)というソフトが普及してきているらしく、今後主流になりそうなので、こちらを入れてみました。
apacheには「C10k問題」という、1つのWebサーバにクライアントが1万台接続すると、動作が重くなってしまう問題があります。
その点nginxは軽量でかつ1つのプロセスで複数のリクエストを処理する「イベント駆動モデル」であり、クライアント台数が1万台を超えても余裕で動く。
…という特徴があるので、ユーザ数が多いWebシステムにおいて利点があります。
そんなでかいシステム作れませんが、流行りに乗っておきたい。
インストール自体は簡単で、CentOSに含まれているyum
コマンドで一発!
- rootユーザで、
/etc/yum.repos.d/nginx.repo
ファイルを作成し、以下の内容で保存。これで、yum
コマンドで参照するリポジトリが追加される。[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
- そして、
yum install nginx
コマンドを実行!終わり! - 一応、バージョン確認コマンド
nginx -v
で、インストール成功しているのを確認。
やっとDjango
やっとDjango(ジャンゴ)に戻ってきました。 Webサーバの準備はできたので、そこに乗せるWebアプリを作っていきます。
pythonをインストールした際についでに入っているpip
ツールでDjanoをインストールできました。yum
のpython版ってところですかね?
プロジェクト作成
ここから、Webアプリ開発に便利なフレームワークを使っていきます。
django-admin startproject プロジェクト名
のコマンドでプロジェクト用ディレクトリが作成され、その中に部品達が生成されます。
中でもmanage.py
というpythonファイルの部品が、アプリを作るための各種雛形ファイルを作ってくれたり、開発用の簡易サーバを起動したりしてくれるみたいです。
python manage.py runserver
でサーバ起動。(ポートは8000番)python manage.py startapp アプリ名
でアプリ用雛形作成。
Webアプリ用の雛形ファイル
主要なものをメモメモ。
view.py
画面に何を表示させるか、どんな処理をするかを記述する。
apps.py
アプリケーションの設定を記述する。
models.py
データベース関係のファイル。
admin.py
管理画面の設定を記述する。
urls.py(これは自作)
URLと、呼び出される処理の関係を記述する。
今週はこんなところ。
今後の予定
今読んでいる本をマスターするまでは、と思っていましたが衝動買いしてしまった。
以前の投稿で書いた、直近で欲しいアプリを作るための技術「スクレイピング」(Webサイトのデータを取得するもの)について記述があったのでつい…。
積み本が増えないように早く進めなければ…。