Posts
【Django】管理サイト(admin)のログを削除する【DBの使用量削減に】
Djangoの管理サイトは自動的に操作のログを取るようになっている。 そのログはDBに記録されているため、Herokuの無料プランなどの1万行しかないDBであれば、死活問題になる。 そこで、管理サイトのログをDBから消す。下記のようにすればよい。 from django.shortcuts import render from django.views import View from django.contrib.admin.models import LogEntry class IndexView(View) LogEntry.objects.all().delete() ## 以下略 ## ...【HUGO】最新版をインストールして、サイトを作り、テーマを当ててビルドするまで
【Django】Ajaxで複数枚の画像を一回のリクエストでアップロードする。
【Python】GoogleのISBNのAPIを使い、書籍の情報を手に入れる
GoogleのISBN検索ができるAPIを使うことで、書籍の情報を簡単に手に入れることができる。 もちろん、書籍のサムネイルも取得可能。スクレイピングではないので、サイトの変化に合わせて手直しが必要になることもない。 アカウントの登録も不要 #! /usr/bin/env python3 # -*- coding: utf-8 -*- import requests try: result = requests.get("https://www.googleapis.com/books/v1/volumes?q=isbn:9784873117782") except: print("通信エラー") else: #返却されたJSONを辞書型に変換する。 data = result.json() print(data) print(data["items"][0]["volumeInfo"]) #書籍情報を手に入れる。 print(data["items"][0]["volumeInfo"]["title"]) print(data["items"][0]["volumeInfo"]["publishedDate"]) print(data["items"][0]["volumeInfo"]["authors"]) print(data["items"][0]["volumeInfo"]["description"]) print(data["items"][0]["volumeInfo"]["imageLinks"]["thumbnail"]) ...【Django】星の平均をアイコンで表示させる【3.5の時、三星と半星で表示】
通販サイトなどでよくある、星の平均をアイコンで表示する。 モデル 2つのメソッドを追加する。平均スコアを出力するメソッド。少数だけ取り出し、それを元に1星、半星、無星を判定するメソッド。 from django.db import models from django.core.validators import MinValueValidator,MaxValueValidator from django.db.models import Avg class Topic(models.Model): comment = models.CharField(verbose_name="コメント",max_length=2000) def avg_star_score(self): reviews = Review.objects.filter(topic=self.id).aggregate(Avg("star")) if reviews["star__avg"]: return reviews["star__avg"] else: return 0 def avg_star_icon_few(self): reviews = Review.objects.filter(topic=self.id).aggregate(Avg("star")) avg = reviews["star__avg"] #平均スコアなしの場 ...【Django】FilefieldやImageFieldでファイル名だけを表示させる方法【モデルにメソッドを追加】
【HTML】ダウンロードのダイアログを表示させたい場合、aタグにはdownload属性を付与する
【jQuery】数値入力フォームをボタンで入力する仕様に仕立てる
数値入力フォーム。キーボードを使わず、ボタン入力で行いたい場合、JavaScriptを使う必要がある。 今回は更に短くかけるよう、jQueryで表現した。なお、再利用を想定して、装飾は全く行っていない。 ソースコード HTML <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hello World test!!</title> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="script.js"></script> </head> <body> <form action=""> <input type="number" name="amount" value="0" readonly> <input type="button" name="minus" value="減らす"> <input type="button" name="plus" value="増やす"> </form> </body> </html> JavaScript window.addEventListener("load" , function (){ $("[name='plus']").on("click", function(){ amount_add(this,true); ...【Restful化】DjangoRestframeworkの導入・移行作業【ビュークラス継承元の書き換え、Serializerの運用】