シリーズ・まとめ概要URL定義の作成ビューの作成テンプレートファイルの作成サンプルモデル通知アクションの作成メール通知Line通知ブラウザ通知フィード概要Webサイトでは、更新をお知らせする機能がよくあります。メールで最新情報を知らせたり、最近ではLineやブラウザのプッシュ通知で更新情報をお知らせする例もよく使われています。このブログにも、ブログの購読ページがありますね。今回は、それらの機能をDjangoで実装する方法をまとめていきます。ソースコードをGithubに置いているので、欲しい方はクローンしてください。次のように、幾つかの種類で新着記事を受け取れるようにして...Django管理サイトで、記事を通知すると...メールやLine、ブラウザ通知でお知らせが届きます。URL定義の作成アプリケーションのurls.pyを、次のようにしておきます。name='detail'),]urlpatternsの一番上は購読ページのURL定義です。購読ページでは、メールアドレスやライン、ブラウザ通知の登録をしてもらいます。通知の際、最新記事のURLも通知したいと考えています。!」みたいな感じでメッセージを送ります。%}とかresolve_url()等で記事詳細ページURLの逆引きができなければなりません。上のようにURL定義をしておく必要がありました。次のようなビューを作っておきます。Postsubscriveビューは、購読ページですね。PostIndexとPostDetailビューは先ほど説明したように、便宜上必要なので作っています。シンプルにクラスベースビューを使って作りました。テンプレートファイルの作成ベーステンプレートファイルを作っておきます。base.htmlです。%}</body></html>次に、購読ぺージのテンプレートファイルを作成します。subscribe.htmlです。%}購読ページのテンプレートファイルは、また後々編集していきます。便宜上必要なpost_list.htmlは、次のように適当に作っておきます。%}post_detail.htmlは、次のように、適当に。%}サンプルモデルちょっとしたブログがあり、最新記事を通知するというケースでやっていきます。次のような、記事のモデルがあるとします。passemail_push()、line_push()、browser_push()の3つメソッドは、その記事を通知するためのメソッドです。中身は、あとで実装していきます。通知アクションの作成admin.pyにて、次のようにしておきます。PostAdmin)admin.ModelAdminにactionsという属性を指定すると、Django管理サイトで任意のアクションを実装できます。具体的には、次のようなことができるようになります。これにより、admin.pyのnotify()が呼ばれます。選んだデータ達はqueryset引数として渡されています。Postモデルに定義した各通知用のメソッドが呼ばれ、実際に通知が送信されるという仕組みです。上で書いたように、各通知用のメソッドはまだ空ですので、後で実装していきます。このnotifyアクションは、Django管理サイト上から通知を送るために実装しました。通知を送信するための自作ビューを作り、そこから送信しても良いでしょう。メール通知Webサイトの更新情報を、単純にメールでお知らせるするケースもよくあります。実装もシンプルなので、オススメです。Django、メールで更新を通知をご覧ください。Line通知この方法は、ドメインの取得とHTTPSの対応が必要です。LineでWebサイトの更新を通知します。Lineは最早殆どの人が使っているツールで、この方法を好むユーザーも多いです。Django、Lineで更新を通知をご覧ください。ブラウザ通知この方法は、ドメインの取得とHTTPSの対応が必要です。Webブラウザのプッシュ通知も、最近は多くなりました。ブラウザの機能ではありますが、ブラウザを閉じていても動作しますので、ご安心ください。Django、OneSignalでブラウザ通知をご覧ください。フィードWebサイトの更新情報をRSSやAtomといった形式のファイルで配信しておけば、ユーザーはフィードリーダーを使って読み込むことで、Webサイトの更新を受け取ることができます。Djangoにはフィードを作成する機能が標準で組み込まれており、過去に作った記事があるので、紹介します。PostsDjangoで、配信フィードを生成するDjangoは配信フィードを自動生成する機能が標準で組み込まれており、その使い方を紹介していきます。DjangoDjango、Lineで更新を通知Djangoで、Webサイトの更新情報を通知するシリーズの一つです。Lineで、Webサイトの更新を伝えていきます。LineDjango、OneSignalでブラウザ通知Djangoで、Webサイトの更新情報を通知するシリーズの一つです。OneSignalを利用してブラウザのプッシュ通知を行い、Webサイトの更新を伝えます。DjangoComment記事にコメントするまだコメントはありません。幾つかの方法で、ブログの更新を受け取れます。