pythonのライブラリは様々な種類があるので、メモしておかないと、何がどう使えるのかさっぱり分からない(英語ページを見る羽目になる)のでメモしておく。
文字列の類似度を比較するーdifflib
文字列の類似度や差分を計算する時にはpythonの標準ライブラリの「difflib」が使える
類似度を計算するのはこんな感じ
# -*- coding: utf-8 -*-
import difflib
str_from = "ほげ"
str_to = "ふが"
match = difflib.SequenceMatcher(None, str_from, str_to).ratio()
こんな感じ
参考:Python で文字列の類似度を比較する - 無駄と文化
Djangoでcssやjavascriptを圧縮してインライン表示できるdjango_compressor
インストール
$ pip install django_compressor
設定ファイル
settings.pyを編集
INSTALLED_APPS = (
...
'compressor',
...
)
STATICFILES_FINDERS = (
...
'compressor.finders.CompressorFinder,
...
)
COMPRESS_ENABLED=True #DEBUG=Trueの状態で機能させたい時はこれを設定
テンプレート
\{% load compress %\}
\{% compress css inline %\}
<link rel="stylesheet" href="path/to/css">
\{% endcompress %\}
\{% compress js inline %\}
<script src="path/to/js">
\{% endcompress %\}
モバイル検出ーdjango-mobile
djangoでモバイル検出してテンプレート振り分けたり、条件分けしたい時 に使うライブラリ
インストール
pip install django_mobile
設定
settings.pyを編集
INSTALLED_APPS = (
...
'django_mobile',
...
)
MIDDLEWARE_CLASSES = (
...
'django_mobile.middleware.MobileDetectionMiddleware',
'django_mobile.middleware.SetFlavourMiddleware',
...
)
TEMPLATES = [{
...
'OPTIONS':{
...
'django_mobile.context_processors.flavour',
...
}
...
}]
loaderの設定しなかったけど、条件分岐に使っただけなので出来た。テンプレート振り分けはやってない。
テンプレート内でのモバイル判定
You {% if flavour == "mobile" %}use mobile{% else %}don't use mobile{% endif %}.