diadia

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

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をインストールしてサービス公開

http://torajirousan.hatenadiary.jp/entry/2019/04/22/181826 collectstaticを実行 サーバーに/usr/share/nginx/html/media,/usr/share/nginx/html/staticディレクトリがあることを確認してcollectstaticを実行する。 # ディレクトリがない場合以下を実行 $…

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.2 その他djangoに必要と思われるもののリスト # djangoで画像を表示させるアプリを作る時 pip3.6 install -y Pillow # django-allauthを使う時 pip3.6 install dja…

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以外…

サーバー構築 ssh関係

前提の説明 centos7を入れたばかりのサーバーには、ssh root@***.***.***.***で接続することができる。もちろんrootユーザーのパスワードが必要ではあるが、パスワードさえ分かれば接続できてしまう。言い換えればデフォルトのsshの設定では不特定多数の第三…

サイドバーを設置したい

https://getbootstrap.com/docs/4.3/examples/dashboard 構造を理解する 参考先の構造は、以下のようなものだった。 <div class="container-fluid"> <nav サイドバーの役割></> <main メインの役割></> </div> ここで新たにわかったことはメイン…

sqlite:DBに格納されたテーブルデータを確認する方法

djangoでは開発時にsqlite3が使われる。このDBに直接接続し、データを入れてみようと思った。そのときにテーブル名が必要になる。どのような名前のテーブルか 参考文献:https://crimnut.hateblo.jp/entry/2018/04/17/172709 import sqlite3 con = sqlite3.c…

ヘッダーとフッターのデザイン

ヘッダーとフッターのデザイン わかったことがある。 スマホ等に画面を変更した場合、背景色があるヘッダーやフッターはフルで背景色が広がらない。 とても見栄えが悪い。ヘッダー、フッターは必ずフル画面に広がる設定でデザインすること。 bootstrap4では…

sqlite3:エラー対処:sqlite3.OperationalError: near ")": syntax error

sqlite3.OperationalError: near ")": syntax error このエラーがたまに出て、足止めをくらうのでメモにしておく。 コード cur.execute("INSERT INTO mydb VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,)", (url,title,description,price,None,None,None,None,None,…

sqlite3データベースの変更

sqlite3で既存のデータベースを修正したデータベースを作る必要が出てきた。 この作業は自分にとってヘビーだったので楽してできる方法を考る。今後同じケースにあたったときのために。 今回の方法 今回は別のファイルを作成した。拡張子がない”mydb”がファ…

SQLAlchemy:エラー対処:sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal']

エラーコード sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal'] コード class Product(Base): __tablename__ = 'mydb_jp' description = Column(Text) price = Column(Float, precision=(10,0), asdecimal=Tr…

SQLAlchemy:エラー対処:sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None

エラーメッセージ: sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None エラーが出た背景 sqlite3のデータベースを読み込みいろいろ変更しようとする際に起きた。 エラー部分 engine = create_engine('sqlite://…

SQLAlchemy

参考文献:https://it-engineer-lab.com/archives/1183 sqlite3とdjangoのmodelsとSQLalchemyの共通点と差異についてメモできるとよい。 sqliteはそもそもすべてのデータをテキストのデータとして保存している。。。? https://blog.ohgaki.net/sqlite-data-…

psycopg2について

分からないことは、pysopg2とpsycopg2-binaryの違い。これはどうやって使い分けるのか。コンパイラや外部のライブラリ等を必要としないのがバイナリの方らしい。 そういう使い分け。 You can also obtain a stand-alone package, not requiring a compiler o…

django-allauthのログインリンクのはり方

webアプリケーションのnavバーにログインリンクをはろうと試みた。 メモしておく。 試みたこと いつものようにapp_nameをアプリurls.pyで定め、app.urls.pyでnameを定める計画をする。しかしそもそもこれは自分が作ったアプリではない。てことで少し悩む事に…

django-allauth : テンプレートのカスタマイズ

django-allauthを使ってみた結果ユーザのログインページが味気ない感じだった。 ここを修正していこうと思う。 https://qiita.com/s-katsumata/items/b667c81a127223d2e868 こちらにテンプレートのカスタマイズ方法があった。これを参考にテンプレートをカス…

formのウィジェットについて

ウィジェットの理解を深めない限り、forms.ModelFormやforms.Formの利用したとて、フォーム画面が残念な結果になってしまう。 見た目の良いフォーム画面を作るには、htmlでフォーム画面を作成するか、ModelFormやFormのウィジェットを使いこなせる様になる必…

django mediaについて

mediaの配信について分かっていないので、少し 調べてみることにする。 class Hoge(modelsModel): image = models.ImageField(upload_to="hoge/static/images", null=True, blank=True) このように書くと、サーバー上のpostgresqlのテーブルでは一体どのよう…

staticについて理解を深める

まず開発中の場合、django.views.static.serve() ビューを用いてstaticファイル、mediaファイルを配信するようだ。 https://docs.djangoproject.com/ja/2.1/howto/static-files/#serving-static-files-during-development https://docs.djangoproject.com/ja…

その他centos7の環境構築

centos7にはlsofコマンドを使えるようにする centos7 にはどうやらlsofコマンドが最初から使えるわけではないようだ。 そこでlsofコマンドを使えるための環境構築方法をメモしておく。 ちなみにlsof はLiSt Open Fileのことらしい。 インストール # yum -y i…