hikaru’s diary

Django Engineer

Django

【Django】モデルについていろいろ書く#4

前回:【Django】モデルについていろいろ書く#3 - hikaru’s diary最終回です。 アグリゲーション アグリゲーション | Django ドキュメント | Djangoチートシートです。 # ドキュメントから引用 # Total number of books. >>> Book.objects.count() 2452 # Tot…

【Django】モデルについていろいろ書く#3

前回:【Django】モデルについていろいろ書く#2 - hikaru’s diary クエリ作成を見ていきます。 クエリを作成する | Django ドキュメント | Django 下記のようなモデルを作成し、migrateまで実行したとします。 # ドキュメントから引用 from datetime import d…

【Django】モデルについていろいろ書く#2

前回: 【Django】モデルについていろいろ書く#1 - hikaru’s diary リレーション # ドキュメントから引用 リレーショナルデータベースの強力さがテーブル同士の関係によって決まることは疑いがありません。Dango では、最も一般的な 3 つのデータベースリレー…

【Django】モデルについていろいろ書く#1

はじめに 最近書けていなかったのでたまには更新しようかなと思います。 モデルのページを順に読んで気になったところはメモしていくっていう形で書いています。 モデルとデータベース | Django ドキュメント | Django 基本 # ドキュメントから引用 from dja…

【Django】セッションの有効期限を設定する

ソースコード settings.py from datetime import timedelta ***省略*** SESSIOM_COOKIE_AGE = timedelta(days=365).total_seconds() 説明 djangoはデフォルトだと2週間でセッションが切れるので1年に変更しました。 SESSION_COOKIE_AGE = 31536000とするのは…

【Django】Vue.jsを触ってみる

初期値から1秒ごとに1ずつ増えていくアプリです。初期値はviewsから引っ張ってくることとします。 ソースコード scriptはvue.jsのチュートリアルを参考にしています。 test.html <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docume…</meta></meta></meta></head></html>

【Django】環境変数を設定する

コマンド一つ一つに環境変数を設定するのすごく面倒臭くなったので。django-environをインストール pip install django-environ manage.pyと同じディレクトリに.envを作成 .env DB_HOST=localhost DB_NAME=postgres DB_USER=postgres DB_PASSWORD=**** SECRE…

【Django】OAuth 2.0を使ってGmail送信

8/2追記:GCPの設定をしなくてもアプリパスワードからパスワードを生成したら出来るそうです。 [Django]Gmailのメールアドレスからメールを送信できるようにする | CodeLab アプリ パスワードでログインする - Google アカウント ヘルプ googleのセキュリティ…

【Django】カスタムした404や500ページを作る

appやconfigと同じ階層の場所にtemplatesフォルダを作成 テンプレートを作成templates/404.html {% extends 'base.html' %} {% block title %}404{% endblock %} {% block content %} <h2>404エラーです。ページが見つかりません。</h2> {% endblock %} templates/500…

【Django】エラーをメール通知する

【Django】500エラーをメールで通知しよう! - hikaru2323’s diary気づいたら動かなくなってたので書き直しました。Gmailです。 settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_SSL = True EMAIL_PORT = 465 EMAIL_H…

【Django】formsの属性を変更する

global_numberという変数を複数のフォームクラスで使いまわしているとします。 form2のラベルと最大値を変更します。forms.py from django import forms import datetime global_year = forms.IntegerField(label='年', max_value=3000, min_value=1, initia…

【Django】出勤表ポートフォリオ

出勤表アプリを作っていきます。製作期間は3日ほど。 誤字脱字とかかなり多いと思うので先にgit貼っておきます。開発環境までのgitです。 https://github.com/hikaru1444/django_portfolio_work インストール サーバー起動まで settings app1 urls templates…

【Django】shellでユーザーを作成

よく忘れるのでメモ from django.contrib.auth.models import User user = User.objects.create_user('name','mailaddress','password') user.save() viewsでの使い方 if request.user.is_authenticated: print("ログイン者:", request.user) else: print("…

【Django】ロギングでサーバーのログをファイルに記録する

はじめに コンソールに出ていたログをファイルにも同時に出力して後から見返すために作成しました。 エラーはメールで通知するようにしているんですけどエラー以外も記録したほうが良いのかなって思ってファイルに記録します。 【Django】500エラーをメール…

【Django】viewsからフォームの初期値を設定する

違うテンプレートでformを使いまわしたいけど初期値は変えたかったので色々調べました。[Django]Formに初期値を設定する方法 https://codelab.website/django-form-initial/ class a(TemplateView): template_name = 'kinmu.html' def b(self, **kwargs): pa…

【Django】認証機能を作る

今回は認証機能を作ります。前回、テスト開始時にコピーされたデータベースが作られると思っていて手こずったのでちゃんとドキュメントを読みながら作ります。 仕様として、(入力が楽になるように)誰がログインしているか?のみ今は使いたいのでカスタムユ…

【Django】テストを書く

ドキュメント はじめての Django アプリ作成、その 5 | Django ドキュメント | Django Django におけるテスト | Django ドキュメント | Django ドキュメントでは「なぜテストが必要なのか?」まで詳しく説明されています。 Djangoを使ってない方でもぜひ見て…

【Django】500エラーをメールで通知しよう!

views.py from django.core.mail import send_mail #追加 def mail(request): form = mail_form() #i = 1 + 'a' # 後で500エラーを出すために使う send_mail( 'Subject here', 'Here is the message.', '送信元@gmail.com', ['送信先@gmail.com'], fail_sile…

【Django】runserverで起動中のwebアプリを同じLAN内にある別端末から確認する

やり方は3点だけ 1.コマンドプロンプトからipconfigでIPアドレスを確認 2.「python manage.py runserver IPアドレス」を実行 3.別端末で「http:IPアドレス:ポート番号」を開く 私の環境ではpycharmで設定しているので画像の通りです。