自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

  • Node.jsでCRUD簡易掲示板を作る【RestfulAPI+SQLite】

    Node.jsはサーバーサイドで動作するJavaScriptの実行環境である。 Node.jsの強みは非同期処理。DBやファイルIO、リクエスト・レスポンスなどで発生するIOバウンドの処理を高速化できる。 本記事では、APIサーバーとして動作できるよう、基本のCRUDを解説する。 環境構築 mkdir startup_bbs && cd startup_bbs npm init npm install express npm install sqlite3 基本のHelloworld index.js // API const express = require("express"); const app = express(); app.get("/", (req, res) => { const messages = [ {"message":"helloworld"} ] res.json(messages); }); // サーバー起動 app.listen(3000, ...
  • Django Rest FrameworkのViewの書き方【APIViewと汎用APIView、ModelViewSetの違い】

    Django Rest Framework (以下、DRF)のビューの書き方をまとめる。 下記記事で紹介した素のDjangoのビューと同様、DRFでも継承するビューによって大きく書き方が全く違う。 【関連記事】 : 【Django】ビュー関数とビュークラスの違い、一覧と使い方 本記事では、状況に応じて、適切なビューがコーディングできるようビューの書き方をまとめる。 前提 モデル from django.db import models class Topic(models.Model): comment = models.CharField(verbose_nam ...
  • 【Restful化】DjangoRestframeworkの導入・移行作業【ビュークラス継承元の書き換え、Serializerの運用】

    Restful化のためには、DjangoRestframeworkをインストールする必要がある。(素のDjangoでもAjaxでDELETE,PUT,PATCHメソッドの送信は可能だが、リクエストボディの読み込みに難があるため。) だが、素のDjangoで開発している状態であれば、コードの一部をDRF仕様に書き換えを行う必要がある。 本記事では、40分Djangoを元にDRF移行手続きを解説する。 予め ...
  • DjangoRestFrameworkは本当に必要なのか?【Restful化とAjaxでデータを送信するときの問題】

    結論 DjangoはデフォルトでRestfulに対応している(Ajaxを使ってPUT,DELETE,PATCHメソッドの送信ができる)。 ただし、PUT,DELETE,PATCHのリクエストボディを参照するのはやや複雑。 そのため、それらのメソッドを使ってリクエストを送信する場合、DRFを使ったほうが良い。 素のDjangoはRestfulに対応している AjaxでPUT,DELETE,PATCHメソッドを ...
  • 【Django】PUT、PATCH、DELETEメソッドのリクエストを送信する【Django REST Framework】

    前提 まず前提として、PUT、PATCH、DELETEのメソッドはHTMLのformタグから送信することはできない。 例外として、Laravelでは下記のようにしてformタグでDELETEメソッドを送信するが、Djangoではそれは通用しない。これから解説するDjango Rest Frameworkを使用しても。 <form action="{{ route('topics.destroy',$topic->id) }}/" method="POST" style="display:inline-block;"> {{ csrf_field() }} {{ method_field("delete") }} <button class="btn btn-outline-danger" type="submit">削除< ...
  • 初心者でもlaravel 7.x を使い、45分でCRUD簡易掲示板を作る【Restful対応】

    リハビリがてらlaravelでCRUDに対応した簡易掲示板を作る。この記事の手順に沿ってやれば、45分もあれば作れる。 本記事ではlaravel 7.X系を使用している。 流れ プロジェクトを作る DBはSQliteを読み込むように設定する Restful対応コントローラーを作る ルーティングの設定 モデル定義とマイグレーション実行 リクエストを作る ビューを作る コントローラーの修正 タイムゾーンの修正 プロジェクトを作 ...
  • Djangoで多対多のリレーションを含むデータをAjax(jQuery)+DRFで送信させる

    本記事では多対多のリレーションを含んだウェブアプリで、Django REST FrameworkとAjaxを使用した非同期データ送信を実現させる方法を書く。 ソースコードは『【Django】一対多、多対多のリレーションでforms.pyを使ったバリデーションとフォームを表示』の『【2】forms.pyを使用したフォームバリデーション+独自に作ったテンプレート』から流用した。 Ajax(jQuery)+Restf ...
  • DRF(Django REST Framework)+Ajax(jQuery)で画像とファイルをアップロードする方法

    本記事では、DRF(Django REST Framework)とAjaxを使用して画像とファイルを非同期でアップロードする方法をまとめる。 コードはDjangoで画像及びファイルをアップロードする方法から引用している。外見はほとんど変わっていない。 テンプレートとJSのコード まずテンプレート。下記はimage.html {% load static %} <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>画像アップロードのテスト</ti ...