diadia

興味があることをやってみる。独学で勉強しています。初心者から始めたので困ったことを書いて同じ境遇の方のヒントになればと思います。

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

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

python:画像の保存

画像の保存について詳しく書いてあるものがないけど、どうすれば画像を保存することができるか書いておく。 データの種類 画像のデータの種類はバイナリタイプのデータが求められる。urllib3やrequestsでurlにアクセスするとデフォルトでバイナリタイプの戻…

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

問題点 windowsとmacではcsvモジュールを使う場合以下の差異が存在する。 1.ファイルパスが異なる。 2.csvファイル書き込みの際にlineterminatorが必要か否か。 1.2も今まではwindows用、mac用のスクリプトを別々に準備し使うOSによってスクリプトを使い分け…

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 ページネーションについて

ページネーションについて ページネーションは一覧表示させるオブジェクトを1ページ内にどれだけ分割して表示させるか。それに関わる技術のことのようだ。技術書を読んでいるとなかなかに難しい分野らしい。何が難しいのかも理解できなかったので、そのへん…

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

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にRESTAPIを実装する メモ

DRFはAPIを扱うフレームワーク djangoがwebフレームワークに対してdjango rest frameworkはrest apiを実装するためのフレームワークらしい。 これはCRUDが得意らしく、webアプリケーションのコンテンツを作るのに役立ちそうだ。 公式ドキュメント:https://w…

django migration

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

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に関わるメモ

メモ https://simpleit.rocks/python/django/adding-email-to-django-the-easiest-way/ 上記リンクについて補足 djangoのメール送信はsend_mailで送信できるが、sendgridを使う場合当該ライブラリをインストールしてsettings.pyを指定の通りに変更するだけで…

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

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

セキュリティ

不正アクセスの種類 ほとんどの不正アクセスはSSH,FTP,HTTP/HTTPSであるらしい。セキュリティを上げるためにはこれらの設定を整えれば良いらしい。 httpに関しては海外IPアドレスからのアクセスを遮断する方法が有効であるらしい。 参考:https://www.cyberb…

gunicornをインストールしてサービス公開

collectstaticを実行 サーバーに/usr/share/nginx/html/media,/usr/share/nginx/html/staticディレクトリがあることを確認してcollectstaticを実行する。 # ディレクトリがない場合以下を実行 $ mkdir /usr/share/nginx/html/media $ mkdir /usr/share/nginx…

postgresqlのパッケージについて

参考:https://lets.postgresql.jp/documents/tutorial/yum/yum パッケージ名 主に格納しているもの postgresql-libs libpqなどのPostgreSQLのライブラリ群。 PostgreSQL以外のパッケージが必要とすることもあります。 postgresql psqlやpg_dumpなどのPostgre…

エラー: django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co...

エラー django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co... 以上のエラーが発生した。 これはdjangoのmigrateコマンドを実行したときのエラーである。 環境 環境 ---------…

centos7 psycopg2のインストールエラー

sudo pip3.6 install psycopg2のエラー Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-70sqru_l/psycopg2/ 以上のようなエラーが出た。この問題には以下のように解決する。 https://ja.stackoverflow.com/questions/469…

centos7にdjangoをインストール

djangoのインストール pipを予めインストールしておくこと。 sudo pip3.6 install django==2.1 その他djangoに必要と思われるもののリスト # djangoで画像を表示させるアプリを作る時 pip3.6 install -y Pillow # django-allauthを使う時 pip3.6 install -y …

centos7にnginxをインストール

nginxをインストールする まずnginxをインストールするためのレポジトリを準備する。以下のコマンドを実行しないとnginxのソースがないのでnginxのインストールできない。 yum install -y epel-release nginxのインストール sudo yum install -y nginx nginx…

初期化したサーバにssh接続できない件

エラー原因のコマンド ssh root@***.***.***.*** エラーメッセージの一部 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@…

さくらVPSを使ってdjangoを公開する まとめ

さくらVPSにcentos7を入れる http://torajirousan.hatenadiary.jp/entry/2019/03/31/011303 centos7の初期設定 サーバーへ安全にssh接続できるような設定を行う。 http://torajirousan.hatenadiary.jp/entry/2019/04/22/172101 条件は以下の通り。 root以外…