Djangoメモ : python-decouple, django-environで設定情報を管理
- python-decouple
- インストール
- 使い方
- django-environ
- インストール
- 使い方
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にプロジェクトの設定情報を管理してみる。
python-decouple
Djangoのsettings.py
に書いてある設定情報にはSECRET_KEY
やパスワード、環境に依存する設定などが含まれているのでハードコードするのは望ましくない。
この問題を解決するためにチュートリアルではpython-decoupleを紹介している。
Djangoメモ(36) : 掲示板アプリの最終調整
- 更新日時を保存する
- 同じユーザーの場合は閲覧数を何回もカウントしない
- 各Topicに対するページネーション
- 返信ページで表示する返信数を制限
- 返信投稿後に最後のページへ遷移するようにする
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考に実装してきた掲示板アプリの最終調整をする。
更新日時を保存する
Post(返信)があったときにTopicのlast_updated
が更新されるようにboards/views.py
を修正する。
@login_required def reply_topic(request, pk, topic_pk): topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk) if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.topic = topic post.created_by = request.user post.save() topic.last_updated = timezone.now() # <- here topic.save() # <- and here return redirect('topic_posts', pk=pk, topic_pk=topic_pk) else: form = PostForm() return render(request, 'reply_topic.html', {'topic': topic, 'form': form})続きを読む
Djangoメモ(35) : Gravatarを表示する独自テンプレートフィルタを作成
- Gravatar
- 独自テンプレートフィルタ
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にGravatarを表示する独自テンプレートフィルタを作成してみる。
Gravatar
Gravatarとは「グローバルに認識されるアバター」という意味でブログやコメントを投稿する際に名前の側に表示される画像のこと。
下記リンクで登録できる。
Gravatar - グローバルに認識されるアバター (Globally Recognized Avatars)
続きを読むDjangoメモ(34) : humanizeで日時などをわかりやすく表示(naturaltime, intcomma, ordinal...)
- humanize
- 使用可能なフィルタ
- apnumber
- intcomma
- intword
- naturalday
- naturaltime
- ordinal
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にDjango テンプレートフィルタセットのhumanizeを使用してみる。
humanize
humanizeはドキュメントの説明によると"データに「人間くささ(human touch)」を与えるための Django テンプレートフィルタセット"とのこと。例えば日時情報が"5日, 20時間前"のように表示される。
humanizeを使用するためにはmyproject/settings.py
のINSTALLED_APPS
に'django.contrib.humanize'
を追加する。
INSTALLED_APPS = [
...
'django.contrib.humanize',
...
]
続きを読む
Djangoメモ(33) : Markdownエディタを追加する
- Markdownパッケージのインストール
- Markdownエディタを追加
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にMarkdownエディタを追加してみる。
Markdownパッケージのインストール
Markdownエディタを追加するにあたり、最初にMarkdownパッケージをインストールする。
Markdownパッケージはpip
でインストールできる。
$ pip install markdown
今回はPipenvで環境を構築しているので下記コマンドを実行。
$ pipenv install markdown続きを読む