このエントリーは Django Meet up で書きました。


Coding Style

読みやすいコードを書こう

:   -   変数の省略を避けよう
    -   関数の引数には名前をつけよう
    -   クラスやメソッドにドキュメントを書こう
    -   同じコードの繰り返しを再利用可能な関数やメソッドに入れよう
    -   関数は、画面をスクロールしなくても済むぐらいの長さに抑えよう
  • 「from .models」のように、明示的な相対インポートを使おう
  • 「from django.forms import *」のようなアスタリスクのインポートを使うのをやめよう

The Optimal Django Environment Setup

  • 開発環境はSQLite3、プロダクション環境はPostgreSQLのように環境ごとにデータベースを使い分けるのはトラブルの元。どこでも同じデータベースを使おう1
  • pipとvirtualenvを使おう(できればvirtualenvwrapperも使おう)
  • Djangoをインストールするときはpipとrequirementsファイルを使うのがおすすめ

How to Lay Out Django Project

おすすめのDjangoプロジェクトの構成がここに公開されている。

twoscoops/django-twoscoops-project

Fundamentals of Django App Design

  • UNIXの哲学「Write programs that do one thing and do it well.」に従った設計にしよう
  • アプリケーション名は、基本的にそのアプリケーションのメインになるmodelの名前の複数形にしよう

Settings and Requirements Files

  • 設定は全部バージョン管理の対象にしよう
  • 同じ内容を繰り返し書かないようにしよう
  • SECRET_KEYなど、設定ファイルに直に書くとセキュリティ上問題がある値は、環境変数で扱うようにしてバージョン管理の対象から外そう
  • 目的別に設定ファイルを分けて管理しよう

Database/Model Best Practices

django-model-utils → Djangoのmodel設計でよくあるパターンを楽に作れるようにしたモジュール


57ページぐらいまで読みました。英語難しい><


  1. でも、 twoscoops/django-twoscoops-project では開発環境とプロダクション環境でデータベースを使い分ける設計になっているけど… ↩︎