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続きを読む
Djangoメモ(32) : UpdateViewでユーザーアカウント情報を編集
- UpdateViewでユーザーアカウント情報を編集
- fieldsの変更
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にユーザーアカウント情報を編集してみる。
UpdateViewでユーザーアカウント情報を編集
前回まででクラスベース汎用ビューのUpdateView, ListViewを使用してみたが、UpdateViewを使用してユーザーアカウント情報の編集機能を作成してみる。
accounts/views.py
を以下のように編集。
from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User from django.urls import reverse_lazy from django.utils.decorators import method_decorator from django.views.generic import UpdateView @method_decorator(login_required, name='dispatch') class UserUpdateView(UpdateView): model = User fields = ('first_name', 'last_name', 'email') template_name = 'my_account.html' success_url = reverse_lazy('my_account') def get_object(self): return self.request.user続きを読む
Djangoメモ(31) : クラスベース汎用ビューのListViewで一覧表示とページネーション
- ListViewで一覧ページ作成
- 対話型シェルでページネーションの確認
- 関数ベースビューでのページネーション
- クラスベース汎用ビューのListViewでのページネーション
- ページネーションのテンプレートを再利用
- まとめ
A Complete Beginner's Guide to Djangoのチュートリアルを参考にクラスベース汎用ビューのListViewを使用してみる。
ListViewで一覧ページ作成
前回はUpdateViewを使用して編集機能を作成したが、今回はListViewを使用して一覧ページを作成する。
これまでは関数ベースビューを使用して以下のように書いていた。
myproject/urls.py
path('', views.home, name='home'),
boards/views.py
from django.shortcuts import render from .models import Board def home(request): boards = Board.objects.all() return render(request, 'home.html', {'boards': boards})続きを読む