17.

【django】

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

今回の例ではページの閲覧数をajaxでカウントアップする。

テンプレートの実装

<a id="{{ page.page_id }}" href="{{ page.link }}" target="_blank" onclick="page_view_countup(this)">

<script>
function
page_view_countup(a) {

    var token = '{{csrf_token}}';
    var page_id = a.id;

    $.ajax({
        'url': '/ajax/page/countup',
       
headers: { "X-CSRFToken": token },
        'type':'POST',
        'data':{
            'page_id': page_id,
        },
        'dataType':'json',
        'success':function(response){
            console.log(response)
        },
    });

}
</script>

 

URLの定義

urlpatterns = [
   
path('ajax/page/countup', PageCountupView.as_view()),
]

 

ビューの定義

from django.http import JsonResponse
from django.views.generic import View
from db_itn.models.page import page

class pageCountupView(View):

    def post(self, request, *args, **kwargs):

        page_id = request.POST['page_id']

        page = page.objects.get(page_id = page_id, delete_flag = 0)
        page.objects.filter(page_id = page_id, delete_flag = 0).update(views = page.views + 1)

        context = {
            # 'page': page,
        }

        return JsonResponse(context)

子ページ
子ページはありません
同階層のページ
  1. 環境構築とプロジェクト/アプリの作成
  2. MVC(MVT)のそれぞれの使い方と説明
  3. データベースへの接続と操作
  4. Django Administration
  5. git管理
  6. エラー一覧
  7. バージョンの確認方法
  8. ログ出力方法
  9. SQLのログ出力方法
  10. ログのローテート設定
  11. settings.pyの定数にアクセスする方法
  12. 本番環境へのインストールとアプリのデプロイ(apache編)
  13. 本番環境へのインストールとアプリのデプロイ(nginx編)
  14. djangoアプリの本番の開始URLを変更する
  15. 静的(static)ファイルの置き場所と読み込み(画像、css、js )
  16. CSRFトークンをAjaxで使用する方法
  17. ajaxの使用例(POST編)
  18. ファイルのアップロードとファイルの名前
  19. クイックスタート/チュートリアル
  20. ログイン機能
  21. テンプレート側のログイン判定
  22. ビュー側のログイン判定
  23. 管理者ユーザーの作成/判定と管理画面
  24. モデルのjson化とレスポンス
  25. runserverでポートを指定する方法
  26. cronによるバッチ実行
  27. テンプレートで利用する共通のcontextを定義する方法
  28. プログラムが本番サーバーで反映されない場合の対処法
  29. APIの作成
  30. cron用コマンド・ファイルの作成

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。