{{tag>project 終了}} ====== FF管理アプリ ====== やるかやらないか迷う。こんなことやってても意味があるのか?と。 サクッと作って、公開できればいい思う。とりあえず完成できれば。 気をつけないといけないのは、どんな環境でも使えるように標準化することだ。一店専用になってはいけない。 ===== 開発記 ===== ==== 時刻計算 ==== td = datetime.timedelta(weeks=1, hours=20) now = datetime.datetime.now() td + now -> 1週20時間後で計算できる。 ==== グラフ ==== https://developers.google.com/chart/interactive/docs/gallery/timeline タイムラインを使用。 ほかにもたくさんあって、カンタンで、…スゴい。 ==== GET ==== URLでパラメータを渡す方法。 from django.urls import reverse from urllib.parse import urlencode # hoge_viewからhuga_viewにリダイレクトするときにパラメータを付与する def hoge_view(request): ... # リダイレクト先のパスを取得する redirect_url = reverse('app:huga_view') # パラメータのdictをurlencodeする。複数のパラメータを含めることも可能 parameters = urlencode({'param1': 'this_is_param1', 'param2': 123}) # URLにパラメータを付与する url = f'{redirect_url}?{parameters}' return redirect(url) def huga_view(request): param1 = request.GET.get('param1') # param1の値を取得 param2 = request.GET.get('param2') # param2の値を取得 ... return render(...) ==== jQuery ==== **jQueryはheadに置くだけじゃ使えない!!!!! ** 上記のようにjQueryを利用しますが、headにおくとうまく作動しません。それはまだ「body」の内容を読んでいなうちには実行できないためです。 そのために、「.ready」という関数を使います。 関数を使ったソースは以下の通りです。HTMLファイルとは別に「sample.js」というファイルを用意してHTMLファイルから読み込みましょう。 $(document).ready(function(){ $("#sample").css("color","#d9534f"); }); ==== 固定サイドバー ==== SAT的な右側の操作バーを作るときに、固定サイドバーがよさげだが、単にsticky-topでは上のstickyと重なってうまくいかなかった。 .sticky { position: -webkit-sticky; position: sticky; top: 10px; } を