diadia

趣味のプログラムを書く 

Django

Userモデル運用

ベース記事_Userモデルベース 内容一覧 既存のユーザーモデルの呼び出し方from django.contrib.auth.models import User 既存のUserモデルを修正変更したい場合既存のUserモデルを変更したい場面に出くわした。自分の場合はmodels.pyにてuserのフィールドに…

webアプリケーション作成の整理

求められるものwebアプリケーション作成に求められることはなにか?まずウェブアプリにどのような機能があるか知っていること。次にその機能を実現するにはどうすればいいか分かっていること。djangoのドキュメントを読むと知識は少しづつついてくるけど、実…

カスタムマネージャーとカスタムクエリについて

models.query.QuerySetの継承の意義クエリセットをマネージャを継承したものでクエリセットを設定することができる。この場合に定義した関数は重ねて使用することが出来ない。 イメージで言えば、Blog.objects.filter(active=True).filter(featured=True) こ…

pythonのgetとdjangoのgetは異なる

pythonのgetとdjangoのgetは異なるので注意よく使われるgetにdjangoとpythonで別物だと気づいたのでメモしておく。 とりあえずドキュメントをそれぞれ置いておく。 get() を用いて1つのオブジェクトを取得する https://docs.python.jp/3/library/stdtypes.ht…

データベースとクエリセット間の操作手続き

関連記事 カスタムマネージャーとカスタムクエリについて データベースとクエリセット間の操作手続きデータベース、クエリセット、データオブジェクトの3要素が登場する。 そしてデータベースとクエリセット間の操作手続きとクエリセットとデータオブジェク…

templateまとめ

関連記事 templates cssやjsをbase.htmlに組み込む方法 templates にbase.htmlを備える 本題どうなったらtemplateが読み込めるのか作業中にテンプレートの読み込みエラーが出ることが多い。エラーが出るのは作業中のコードと記述しなければならないコードに…

Userモデル関係を整理してみる まとめ

USERモデル関係 他の記事 ユーザ登録(sign up)機能を作る 本題そもそもUserモデルとはdjangoを勉強していて急に出てくるUserという言葉。ドキュメント内でそれらが当たり前のように様々な説明に絡む。 もやもやした。 勉強してきて少しずつ分かってきたこと…

シグナルについて

シグナル関連記事本題シグナルについての参考資料 https://code-examples.net/ja/docs/django~2.0/topics/signals 受信と受信機機能の接続というものがあるらしい。ここでpre_save,post_save,m2m_changedを使う。シグナルの定義とか送信という別のテーマがあ…

リクエストヘッダの内容を取得する まとめ

POST/GETの判別 HTMLフォームから送信されたパラメータが、どのメソッドで送信されたかを調べる方法 if request.method == 'POST': # POSTでパラメータを送ってきたときの処理 ... else: # GETでパラメータを送ってきたときの処理 ... HTTP リクエストヘッダ…

ミドルウェアまとめ

このページにミドルウエアで学んだことを集めていく。 まずミドルウエアはなにか? ミドルウェアは、Django のリクエスト/レスポンス処理にフックを加えるためのフレームワークです。これは、Django の入力あるいは出力をグローバルに置き換えるための、軽量…

django[データオブジェクトの操作まとめ]

関連記事 pythonのgetとdjangoのgetは異なる 本題:データオブジェクトの操作まとめ 動画をみて勉強していたが、ついていけなくなった。 打開策としてドキュメントを読んでみようと思う。 最初は読んでもわからなかったことも今なら少しわかることもあるだろ…

models.Manager の説明が書いてあった

自分がmodels.Managerに出会ったのは、クラスを継承(拡張?)するときだ。 これについての説明があったのでソースを保持する。 マネジャ — Django v1.0 documentation Managerはデータベースクエリ操作をdjangoモデルに提供しているインターフェース。自分…

class についてちょっと整理する

models.pyにでclassを設定する目的はデータベースを作るために行われる。 具体的にはテーブルのカラムを定めること。 そしてデータが入れられればデータベースとなる。models.py class Blog(models.Model): title = models.CharField(max_length=30) content…

セッションについてのメモ

色々なコードが一体何を表すのか分かっていないので調べたものはメモとして残す。views.pyにて ページに接続するたびにat以降が変わる print(request.session) <django.contrib.sessions.backends.db.SessionStore object at 0x10dc0aa90>print(request.session.id) AttributeError: 'SessionStore' object has no attribute 'id'admin</django.contrib.sessions.backends.db.sessionstore>…

サーチ機能を実装する

データベースからブログの記事内容だったり、商品を検索して結果を表示したい。その場合には検索キーワードに合致する結果を表示する必要がある。 キーワードに合致するものだけ抽出する方法は、objects.filter()を使えば解決できる。 結果を表示するにはLis…

urls.pyのincludeに変更点あり

path("search/", include("search.urls", namespace="search")) と記述したところエラーが出てきた。今回は path("search/", include(("search.urls", "search"))) これで対応しました。 詳しいことはここにあり。 Django2.0のプロジェクトのurls.pyにおける…

templates cssやjsをbase.htmlに組み込む方法

base.htmlにcssやjsなどBootstrapの機能を追加する。 方法はどうすればいいのか?前提条件 base.htmlにはbootstrapのコードを書かず、別にcss.html,js.htmlを準備する。_________________________________解決案 {% includ…

templates にbase.htmlを備える

pythonは誰が見ても読みやすくなるように作られている。そしてそれを実現するためにもコードをスッキリ書くことが求められる。可読性が高いものはメンテナンスしやすくなるメリットを享受できる。同じ内容を二度も三度も書くのは避けるべきだ。 htmlに焦点を…

slugを使って詳細ページurlの変更

urlを任意に変更する方法はどうすればよいのか? urls.py ではurlpatterns = [ path("blog/", BlogDetailView) ,...] の方式でurlを設定しているけれども、'bog/任意の文字列' という形で決めたい場合どうすればいいのか?参考url 【django2.0】便利なパスコ…

admin.pyメモ まとめ

技法1 admin の表示を少し変える やりたいことmodels.pyで規定したmodelの要素はadminページで一覧で確認することが出来ない。 adminページ上で任意の項目を一覧表示できるようにするにはどうしたら良いのか?例えばmodelであるBlogにtitle ,description, pr…

任意の情報だけを表示させる方法(ListView)

問題点例えば、ブログの下書きと公開記事があるとする。 これを任意に表示させるようにしたい。 具体的にはBooleanFieldを使ってチェックマークをつけたものだけ下書きとして集めて下書き一覧ページを作りたい。 条件としてはListViewで表示させること。今回…

django detailページ書き方(views.py)

詳細ページの書き方は複数ある。 detailviewを使って速く簡単に作ってしまう方法やrenderを使ってどのようなプロセスで動くか分かる方法もある。 (参考) ブラックボックス化を避けるためrenderをベースとして、データベースにアクセスするような動きを見せな…

get_object_or_404 detailページにつけるやり方

全然分かってないのでメモ。 ドキュメント https://docs.djangoproject.com/ja/2.0/topics/http/shortcuts/#get-object-or-404Calls get() on a given model manager, but it raises Http404 instead of the model's DoesNotExist exception. 引数はklass, *…

ListViewの内容を一覧表示させる方法

よく忘れるのでメモ。List_Viewで表示させる方法は、いくつかあって簡単な方法を記録する。{{ object_list }} こうすると表示は <QuerySet,> となってしまう。これを{% for obj in object_list %} {{ obj.title }} {{ obj.contents }} {% endfor %} こうす…

settings.pyまとめ

Django Static file の設定方法(settings.py) - diadia static fileを表示させる方法 - diadia

models.pyまとめ

models.pyを初めて使う場合の粗すぎる大枠 Django model.pyを初めて使う人向けに - diadia field()のオプションについて 概要:()の中身の種類 https://docs.djangoproject.com/ja/2.1/ref/models/fields/#field-options foreignkey, ManyToManyField,OneToOn…

Django Static file の設定方法(settings.py)

settings.py で設定する項目 STATIC_URL = '/static/' MEDIA_URL = '/media/" STATICFILES_DIR =[ os.path.join(BASE_DIR, "static_xxx")] STATIC_ROOT =os.path.join(os.path.dirname(BASE_DIR), "static_yyy",static_root) MEDIA_ROOT =os.path.join(os.pa…

ユーザ登録(sign up)機能を作る

どうやってユーザを作成するか。 とりあえず作り方のアプローチとしては2通りある。 djangoビルトインのUserCreationFormを使う方法 Djangoの認証システムを使用する | Django documentation | Djangoforms.pyから作成する方法(自作) 今回は自作する方法を…

forms.pyに使うlabelの働き

labelの働きがわからなかった。 htmlを学習した現在働きが同じだと思われる。まずhtmlの使い方を記述する。 <form> <label for="fullname">お名前</label> <input id="fullname" type="text" name="name"> <label for="passwd">パスワード</label> <input id="passwd" type="password" name="password"> <button type="submit"> ログイン</button> </form> htmlをこのように記述すると、入力欄(この場合…

ユーザーログイン機能をdjangoプロジェクトに実装する/ユーザー認証の仕組み

ユーザーログイン機能をdjangoプロジェクトに実装する 最初に主要ファイルにどのように書けばユーザーログイン実現するかを書く 次にユーザー認証の仕組みを書く ユーザーログイン実現の書き方編集ファイルはこれらになる。 forms.py views.py urls.py login…