diadia

興味があることをやってみる。自分のメモを残しておきます。

2019-01-01から1年間の記事一覧

再考:DetailViewの構造

DetailViewで詳細ページが表示できる理由 class ProductDetailView(DetailView): model = Product 上記の記述だけでhttprequestのGETが成立してしまうことをまず整理したい。 まずDetailViewはViewクラスを継承したものである。だからViewをカスタムしたもの…

toLocalStringメソッド

ベース Javascriptメモ 本題 toLocalStringメソッド 対象オブジェクトを文字列化する。文字列化するのには他にtoStringメソッドもあるらしい。 これらの違いは、現在のロケールに応じた文字列表現を返しますかどうか。JSとUSだと文字列表現が異なる場合もあ…

配列

ベース記事 Javascriptメモ 種類 配列 連想配列 疑問点 配列って何か?連想配列って何?なんのためにある概念?それができると何ができるようになるの? それができると何ができるようになるの? 配列と連想配列を使うと、複数のデータ集合を扱うことができ…

UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list

以下の注意メッセージが表示される UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list:****** 解消方法 参考にしたところ:https://stackoverflow.com/questions/44033670/python-django-rest-framewor…

django:adminページでインスタンスを検索する

adminでインスタンスの検索が必要になるケース 例えば運用しているアプリケーションのインスタンスに誤りがあるとする。このインスタンスを修正するためにadminから修正することになっていたとする。 この場合アドミンからインスタンスを選択し、修正を行う…

デプロイ時にプロジェクトに必要なライブラリを漏れなくインストールする

結論:pip freezeを使う サーバーに必要なライブラリをインストールするために開発環境でpip freezeまたはpip listを使い確認しては、サーバーでライブラリをインストールしてきたが一気にインストールしてしまったほうが良い。 pip freeze > requirements.t…

django:PCとスマホで表示を変えたい

ユーザーのデバイスによって表示を変更したい 表示方法としてレスポンシブデザインが可能なBootstrapを利用してきた。しかしレスポンシブデザインでは納得いく表現ができなかった。 デバイスによって異なるテンプレートを使い分けれればより良くなると思われ…

django signalの情報を集める

signalの仕組みを理解するには2つのキーワードがある。senderとreceiverである。名前の通り、senderはsignalを送り出す役割を担う。receiverはそのsignalを受取り、何か挙動を起こす役割を持つ。receiverは関数またはインスタンスメソッドで無くてはならな…

postgresのパスワードが分からない場合

postgresのパスワードが分からない場合 いろんな方のブログを見ていると、postgresqlをインストールすると同時にpostgresユーザーが作成される。そしてpostgresのパスワードも設定することになる、と書いてあるが、自分の場合postgresのパスワードを定める機…

Bootstrapを見る

ドキュメント https://getbootstrap.jp/docs/4.2/layout/grid/ レスポンシブレイアウト レスポンシブレイアウトを構築するための5つの階層が定義されている。(extra small,small,medium,large,exyra large) デバイスを問わず、同じグリッドの場合に使いたい…

django:sendgridでメール本文において&が&に変換されてしまう件について

状況 Checkクラスにはurlを格納する属性があり、一定時間ごとに各インスタンスurlを利用し、ウェブサイトにアクセスする。そして特定の情報が存在した場合にsendgridを使って自分のメールに送信する仕組みを設けた。メール本文にはアクセスしたurlを載せる。…

python:自作モジュールのインポートについて

自作モジュール内でインポートをするのに困ったので解決方法をメモしておく。 そもそもimportするには? ディレクトリ以下にあるファイルをインポートすることができる。 MY_DIR----- myscript.py L--- myconfig.py L--- init.py カレントディレクトリがMY_D…

python:画像の保存

どうすれば画像を保存できるか書いておく。 データの種類 画像の保存にはバイナリタイプのデータが求められる。urllib3でurlにアクセスするとデフォルトでバイナリタイプの戻り値なので、画像を保存するには向いている。 保存方法 保存方法はファイルをバイ…

python: windowsとmacから同一のスクリプトを利用する方法

前提 dropboxにデータやスクリプトを配置している。 問題点 windowsとmacではcsvモジュールを使う場合以下の差異が存在する。 1.ファイルパスが異なる。 2.csvファイル書き込みの際にlineterminatorが必要か否か。 1.2も今まではwindows用、mac用のスクリプ…

Python:CSVモジュール使い方

関連記事 リスト型データをcsvに出力する方法 csvモジュールの使い方 リストデータをファイルとしてアウトプットしたい場合にcsvファイルにするのは便利。 csvモジュールの使い方をメモしておく。 csvモジュールはpythonの標準ライブラリなのでpip install c…

urllib3についてメモ

document https://urllib3.readthedocs.io/en/latest/index.html コードの流れを追う import urllib3 #1 http = urllib3.PoolManager() #2 r = http.request('GET', 'http://httpbin.org/robots.txt') #3 #1 import urllib3 https://github.com/urllib3/urll…

requestsを見てみる

そもそも requestsはurllib3をもとに作られている。requests.__init__.pyを見ればわかる。それでHTTPリクエストを送る関係のライブラリがpythonには複数ある。 urllib2, urllib(.request), urllib3. requests。これらについて理解するのも後々役に立つだろう…

エラー:django.core.exceptions.ImproperlyConfigured: The included URLconf '***.urls' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.

django.core.exceptions.ImproperlyConfigured: The included URLconf '***.urls' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import. djangoのエラーでa circul…

サーバーに画像を送信する

djangoのimagefieldはメディアのファイルパスを記録するだけとも言えるので、ファイルパスをフィールドに記録したらあとはメディアのディレクトリに画像を配置すればちゃんと表示される。 で今の段階はサーバーに画像を送信する段階だ。調べてみるとzipファ…

DRF ImageFieldのファイルパスを登録したい

DRFでImageFieldにデータを登録したい なんとなくだけどModelSerializerを使ってもimageFieldに登録できないような気がしてきた。その辺を調べてみる。 資料:https://www.django-rest-framework.org/api-guide/fields/#file-upload-fields なんかファイルや…

DRF JSONデータの成形

成形する必要性 django rest framework の場合request.POSTには注意事項がある。 それはキーに対する値が空(ブランク?null?)の項目はDRFはエラーを吐き出す。辞書型データに例えて説明すると、ex_dict["key1"]=""の要素を含むデータをrequests.POSTするとエ…

エラー:AssertionError: You cannot call `.save()` on a serializer with invalid data.

AssertionError: You cannot call `.save()` on a serializer with invalid data. 上記のエラーが表示された。 エラーが出た状況: インスタンスを生成することを目的にdjango rest apiでrequests.post()をする。するとdjango アプリケーションで上記のエラ…

エラー:json.decoder.JSONDecodeError: Extra data

エラー内容とエラーが出た経緯 Traceback (most recent call last): File "execute.py", line 38, in <module> json.load(f) File "/anaconda3/lib/python3.6/json/__init__.py", line 299, in load parse_constant=parse_constant, object_pairs_hook=object_pairs_</module>…

csvファイル 辞書型データ jsonモジュールメモ

https://qiita.com/motoki1990/items/0274d8bcf1a97fe4a869 https://docs.python.org/ja/3/library/csv.html#csv.DictReader https://qiita.com/pscreator/items/6040bddbbf9e9c05f77a http://hktech.hatenablog.com/entry/2018/09/10/235725 djangoのRest A…

django migration

makemigrations でpostgresql上にテーブルが作られるのか、またはmigrateでテーブルが作られるのか? 該当するドキュメント 疑問に思うテーマについてdjangoドキュメントがある。こちらを見てみる。 https://docs.djangoproject.com/ja/2.2/topics/migration…

IPにかかわるものについて

IPアドレスは普通REMOTE_ADDRという変数名で取得できる。 しかしロードバランサやプロキシを介した通信になると、REMOTE_ADDRがロードバランサ等のアドレスになる。多くのロードバランサ等では、HTTPのリクエストヘッダにX-Forwarded-Forフィールドを追加す…

django用に.gitignoreを設ける

.gitignoreを設けないとどうなるのか? まずソースコードをgithub,bitbucketからクローンして手に入れる。そしてそのままmigrateするとコマンドが通らない。おそらくこれはmigrations以下の.pyファイルやキャッシュファイルが存在しているかと思われる。実際…

django-allauthを使ってメールを送信を絡めてユーザ登録したい

前提 sendgridを使ったユーザー登録を実行 emailを送信するためにはsettings.pyをいじると送れることは知っておくこと。 ここの設定によってemailの送信を例えばgmailから送ったり、sendgridのようなメール配信サービスのAPIを利用して送ったり、またはメー…

sendgridに関わるメモ

メモ さくらVPSからsendgridを使うとお得。 https://vps-news.sakura.ad.jp/sendgrid1/ https://simpleit.rocks/python/django/adding-email-to-django-the-easiest-way/ 上記リンクについて補足 djangoのメール送信はsend_mailで送信できるが、sendgridを使…

windowsでpython のgoogletransをインストールする方法

googletransはエラーが出る よく考えられるpip installでgoogletransをインストールするとエラーが出て使えない状況に陥る。この状況にはパッチされた新たなgoogletransをインストールすることで解決できる。 環境 windows10 anaconda やり方 https://stacko…