もた日記

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

Djangoメモ(11) : リクエスト処理の流れとURLconf (URL configuration)

  • 詳細ページを表示
  • リクエスト処理の流れ
  • URLconf、ビュー、テンプレートの編集
  • パスコンバータ
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にリクエスト処理の流れとURLconf (URL configuration)について調べてみる。


詳細ページを表示

前回までで下図のBoard一覧を表示するページを作成したが、このページのBoard名(Django, Python, Random)をクリックしたら各BoardのTopic一覧を表示する詳細ページを作成することを考える。
Boardは複数個登録できるので、固定のURLではなくboards/1, boards/2といった特定パターンのURLでアクセスできるようにする必要がある。

f:id:wonder-wall:20180310231749p:plain

続きを読む

Djangoメモ(10) : 静的 (static) ファイルの設定をしてBootstrap 4 を使う

  • 静的 (static) ファイル
  • Bootstrap 4
  • 設定とテンプレート変更
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考に静的 (static) ファイルの設定をしてBootstrap 4 を使ってみる。


静的 (static) ファイル

静的 (static) ファイルとはドキュメントによると以下の通り。

サーバで生成するHTML以外に、Webアプリケーションは一般的に完全なWebページをレンダリングするために、画像、JavaScript、CSSなど必要なファイルを提供する必要があります。Djangoでは、これらのファイルを "静的 (static) ファイル" と呼びます。
小さなプロジェクトではこのことは大きな問題になりません。 Web サーバが見つけられる場所で静的ファイルを単に管理することができるからです。しかし、もっと大きな プロジェクトで、特に複数のアプリケーションからなる場合は、各アプリケーションが 持っている静的ファイルの集まりを複数扱うことになり、ややこしくなってきます。
django.contrib.staticfiles はまさにそのためにあります。これは静的なファイ ルを各アプリケーションから (さらに指定した別の場所からも) 一つの場所に集め、運用環境で公開しやすくするものです。

なお、django.contrib.staticfilesINSTALLED_APPSにデフォルトで登録されているので使える状態になっている。

続きを読む

Djangoメモ(9) : ビューのテストを作成して実行する

  • テストを実行する
  • ビューのテストを作成する
  • verbosityオプション
    • 0=minimal output
    • 1=normal output
    • 2=verbose output
    • 3=very verbose output
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にビューのテストを作成して実行してみる。


テストを実行する

Djangoのテストはpython manage.py testコマンドで実行できる。現時点でテストは作成していないので当然何も実行されない。

$ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...
続きを読む

Djangoメモ(8) : テンプレートを使った表示

  • ビューを編集
  • テンプレートを作成
  • テンプレート言語
    • 変数
    • タグ
    • フィルター
    • コメント
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考にテンプレートを作成してみる。


ビューを編集

前回まででモデルの作成とデータの登録は完了しているのでウェブページとしてデータを表示してみる。
Hello, World!を表示するようになっているboards/views.pyを以下のように編集する。

変更前

from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello, World!')

変更後

from django.http import HttpResponse
from .models import Board

def home(request):
    boards = Board.objects.all()
    boards_names = list()

    for board in boards:
        boards_names.append(board.name)

    response_html = '<br>'.join(boards_names)

    return HttpResponse(response_html)
続きを読む

Djangoメモ(7) : 管理者ユーザを作成して管理サイトを使う

  • 管理者ユーザを作成
  • 日本語化
  • モデルを追加
  • 管理サイトの操作
  • まとめ

Python 3.6.4 Django 2.0.2

A Complete Beginner's Guide to Djangoのチュートリアルを参考に管理サイトを使ってみる。


管理者ユーザを作成

最初に管理サイトにログインできる管理者ユーザをcreatesuperuserで作成する。
パスワードは短かったり、一般的だと以下のように拒否されるので注意。

$ python manage.py createsuperuser
Username (leave blank to use 'vagrant'): admin
Email address: admin@example.com
Password:
Password (again):
The password is too similar to the email address.
This password is too short. It must contain at least 8 characters.
This password is too common.
Password:
Password (again):
Superuser created successfully.
続きを読む