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) の参考記事

http://egorsmirnov.me/2015/08/16/react-and-es6-part3.html

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() でもよい

上記を通る HTTP リクエストをしたらデバッグできる

> /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 指定しておけばポートフォワードしたときにアクセス弾かれる問題は起きない。

参考記事