もた日記

くだらないことを真面目にやる

Djangoメモ(6) : shell_plusで補完、履歴活用、モデル自動インポート、SQL出力

  • Django Extensionsのインストール
  • shell_plus
    • IPython
    • bpython
    • ptpython
  • SQL出力
  • まとめ

Python 3.6.4 Django 2.0.2

Django Extensionsのインストール

前回、対話型シェルを操作したがコマンド履歴が使えなかったりと不便だったので調べてみたところDjango Extensionsに含まれるshell_plusを使うのがよさそう。

github.com

Django ExtensionsはDjangoの拡張機能を集めたパッケージでpipでインストールできる。

$ pip install django-extensions
続きを読む

Djangoメモ(5) : 対話型シェルでAPIを使ってみる

  • 対話型シェルの起動
  • APIでオブジェクト作成
  • __str__()メソッド
  • その他のAPI
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にDjango が提供する APIを使ってみる。

対話型シェルの起動

前回まででモデルの作成は完了しているのでAPIでオブジェクトを作成してみる。 まずは下記コマンドで対話型シェルを起動する。

$ python manage.py shell

ドキュメントによるとpython manage.py shellと単なるpythonコマンドとの違いは下記とのこと。

なぜ単なる “python” コマンドではなく上記のコマンドを使うかというと、 manage.py が DJANGO_SETTINGS_MODULE 環境変数を設定してくれるからです。これにより、 Django に mysite/settings.py ファイルへの import パスが与えられます。

確かに単なるpythonコマンドでモデルをインポートしようとすると失敗してしまう。

>>> from boards.models import Board
 ...
    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

なお、単なるpythonコマンドでもDjangoを使うようにするには以下のようにすればよいらしい(myprojectのところはプロジェクト名)

$ export DJANGO_SETTINGS_MODULE=myproject.settings
$ python
>>> import django
>>> django.setup()
>>> from boards.models import Board
続きを読む

Djangoメモ(3) : Hello Worldを表示するアプリを作成

  • アプリケーション作成
  • ビューの作成
  • URL の対応付け
    • Function views
    • Including another URLconf
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にHello Worldを表示するアプリケーションを作成してみる。


アプリケーション作成

前回まででプロジェクトの雛形の作成は完了しているのでアプリケーションを作成する。
Djangoにおけるプロジェクトとアプリケーションの違いは下記。

  • アプリケーション:実際に何らかの処理を行う Web アプリケーション
  • プロジェクト:あるウェブサイト向けに設定とアプリケーションを集めたもの。一つのプロジェクトには複数のアプリケーションを入れられる。

アプリケーションの雛形はdjango-adminまたはmanage.pyにより作成できるのでmanage.pyがあるディレクトリに移動して下記コマンドを実行(後で掲示板アプリケーションにするので名前はboards)。

$ django-admin startapp boards

または

$ python manage.py startapp boards
続きを読む

Djangoメモ(2) : Python, Pipenv, Djangoのインストールと動作確認

  • チュートリアルでの環境構築
  • Pipenvを使った環境構築
    • pyenvのインストール
    • Pipenvのインストール
    • 仮想環境構築
    • パッケージのインストール
  • Djangoの動作確認
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にDjangoの環境を構築してみる。

チュートリアルでの環境構築

チュートリアルではPython 3.6.2, Django 1.11.4と仮想環境を構築するVirtualenvをインストールしている。
macOSの場合に実行しているコマンドを整理すると以下の通り。その他、チュートリアルではWindows, Linuxでのインストール方法も説明してあるので参考になる。

$ brew install python3
$ python3 --version
Python 3.6.2
$ sudo pip3 install virtualenv
$ mkdir myproject
$ cd myproject
$ virtualenv venv -p python3
$ source venv/bin/activate
$ pip install django==1.11.4
続きを読む