react で preventDefault しても submit された場合に見るステップ
(1) submit のハンドラーを component に bind しているか
class RequestForm extends React.Component { constructor(props) { super(props); . . this.handleSubmit = this.handleSubmit.bind(this) } . . render () { return ( <React.Fragment> . . <form onSubmit={this.handleSubmit}>
(2) preventDefault をハンドラーの冒頭に持ってきているか
handleSubmit(e) { e.preventDefault() .(後続処理) . }
(1) の参考記事
django で pdb できないときは django-pdb を install する
ssh クライアントが理由なのかは原因を特定できていないが、django 上の適当な .py ファイルにて
import pdb; pdb.set_trace() もしくは breakpoint() # python3.7 以上のみ有効
を埋め込みしても Web サーバーを立ち上げているコンソールで pdb の操作が効かない。
django-pdb を導入したら問題なく p コマンドや n コマンドを実行できた。
django-pdb の導入方法
$ cd /path/to/mydjango-project $ mkdir requirements_no_production $ echo django >> requirements_no_production/development.txt # 本番用と分けておきたいのでこうしている $ pip3 install -r requirements_no_production/development.txt
hello/views.py でデバッグする
... def index(request): import pdb; pdb.set_trace() # python3.7 以上ならば # breakpoint() でもよい
> /home/matsu/workspace/mydjango-project/hello/views.py(13)index() -> return HttpResponse('<h1>response</h1><pre>' + response.text + '</pre>') (Pdb) p response <Response [200]>
参考:
ubuntu 20.04 に postgres postgresql を install する
何も考えずに ローカルユーザーネームと root のロールで postgres が動く環境を入れたい場合。
$ sudo apt update $ sudo apt-get install postgresql $ sudo su - postgres @postgres> createuser YOUR_USERNAME @postgres> createdb YOUR_USERNAME @postgres> createuser root @postgres> createdb root @postgres> exit $ psql
Web アプリやらを開発する場合は、ライブラリインストールで header が足りないと怒られないように 下部の devel パッケージ入れておくのが得策である。
$ sudo apt install libpq-dev $ sudo apt list | grep postgresql-server-dev* postgresql-server-dev-12/focal 12.2-4 amd64 postgresql-server-dev-all/focal 214 all # インストールした postgres バージョンの server-dev を入れる $ sudo apt install postgresql-server-dev-12
参考:
ubuntu server 20.04 に nodejs を curl および nodesource 経由で install する
nodejs v12(2020/06 で LTS) を curl および nodesource 経由で install する
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs
ついでに yarn 入れるときは次の通りにする
$ curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - $ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list $ sudo apt-get update && sudo apt-get install yarn
参考情報:
ubuntu server 20.04 に django をインストールする
pip3 は install している前提である。
$ pip3 install --user Django $ python3 -m django --version 3.0.7 $ cd /path/to/workspace $ django-admin startproject testproject $ cd testproject $ python3 manage.py runserver 0.0.0.0:8080 # GET access to http://localhost:8080
ip 指定しておけばポートフォワードしたときにアクセス弾かれる問題は起きない。
参考記事