DjangoでHelloWorld【HttpResponse及びレンダリング】 作成日時: 2020年11月16日 08時50分 最終更新日時: 2020年11月16日 08時50分 Categories: サーバーサイド Tags: django tips 初心者向け スタートアップシリーズ Djangoのハローワールドは、やり方が何通りもある。 普通のPythonであれば、 print("HelloWorld") ほぼこの一通りであるが、Djangoの場合は主にHttpResponseの他に、テンプレートをレンダリングして返す方法がある。 一般的な開発においてはテンプレートのレンダリングが主流である。しかし、Django初心者、フレームワーク未経験者には難度が高い。故に、本記事では難度の低いHttpResponseから解説する ... 続きを読む
Django-allauthのログインページの装飾を装飾する【テンプレートの追加】 作成日時: 2020年11月11日 17時59分 最終更新日時: 2020年11月11日 17時59分 Categories: サーバーサイド Tags: django html5 css3 ウェブデザイン allauth django-allauthにより、比較的簡単に認証関係の機能を実装できる。だが、装飾まではサポートされていない。 このような殺風景なログイン画面が表示されてしまうのだ。これをそのままにして顧客に納品させるわけにはいかない。 本記事ではこのdjango-allauthのログインページを装飾させる方法を解説する。 Django-allauthのインストールとsettings.py、urls.pyの設定 まず ... 続きを読む
Djangoでページネーションを実装する方法【django.core.paginator】【パラメータ両立】 作成日時: 2020年11月11日 17時57分 最終更新日時: 2020年11月11日 17時57分 Categories: サーバーサイド Tags: django tips カスタムテンプレートタグ 殆どのプロジェクトで実装必須になるページネーション。 Djangoではdjango.core.paginatorが用意されているので比較的簡単に実装できる。 しかし、単にページネーションを実装しただけでは他のURLパラメーターが保持されない。例えば、検索とページネーションを両立させることはできない。 本記事では他のURLパラメーターを保持した状態で、ページネーションを実装する術を解説する。 流れ views ... 続きを読む
Djangoでスペース区切りでOR検索、AND検索をする方法【django.db.models.Q】 作成日時: 2020年11月11日 17時56分 最終更新日時: 2020年11月11日 17時56分 Categories: サーバーサイド Tags: django tips 初心者向け 普通、検索エンジンで検索する時、こう検索するであろう。 Django UUIDFields 使い方 Djangoのモデルオブジェクトで検索しようとすると、こうなる。 Model.objects.filter(title__contains="Django UUIDFields 使い方") これでは検索結果が出てこない。検索時にスペースも文字列の1つとして考えるからだ(『Django UUIDFields 使い方』を含むタイトルを表示) そこで、スペース区切りのキーワード検索をするときは、Qクラスを使用する。 40分Djangoをベースに検索できるように改良す ... 続きを読む
DjangoでAjax(jQuery)を実装する方法【Django REST Framework使用】 作成日時: 2020年11月10日 14時01分 最終更新日時: 2020年11月10日 14時01分 Categories: サーバーサイド Tags: Django Ajax 先日の記事にて、DjangoでAjax(jQuery)を実装する方法を解説した。 ただ、DjangoRESTFrameworkを使用すれば、さらに少ないコードでAjaxを実装することができる。 RestfulAPI、Django REST Frameworkとは RestfulAPIとは、HTTPリクエストに応じてサーバーの処理を切り分けることができるAPIのこと。 HTTPリクエストのヘッダ部には、リクエスト送信 ... 続きを読む
Djangoで画像及びファイルをアップロードする方法【ImageFieldとFileField】【python-magicでMIMEの判定あり】 作成日時: 2020年11月5日 15時30分 最終更新日時: 2020年11月5日 15時30分 Categories: サーバーサイド Tags: django tips セキュリティ Djangoで画像やファイルをアップロードする方法をまとめる。 40分Djangoを理解している方向け。 流れ 必要なライブラリのインストール アプリの作成 settings.pyの編集 urls.pyの編集 models.pyでフィールドの定義 forms.pyでフォームを作る views.pyで受け取り処理 templatesにフォームを設置 マイグレーション 開発用サーバーの立ち上げ 必要なライブラリのインストール pip ... 続きを読む
DjangoでDBに格納したデータをダンプ(バックアップ)させる【dumpdata】 作成日時: 2020年11月5日 14時38分 最終更新日時: 2020年11月5日 14時38分 Categories: サーバーサイド Tags: django tips json 以前、Djangoで開発中に初期データを入力する方法をしたが、Djangoではその逆も可能。 つまり、DBに既に格納されているデータをダンプ(バックアップ)する事ができる。それがこれ python3 manage.py dumpdata [アプリ名] > [アプリ名]/fixture/data.json 実際にやってみるとこうなる。 json形式でダンプされ、そのままでは改行が施されていないので、}},の次に改行を設置する。vimなら下記正規表現を実行 s/}},/}},\r/g 整 ... 続きを読む
Herokuのデータベース(herokupostgres)の実装と設定方法【Hobby-Plan】 作成日時: 2020年11月5日 12時05分 最終更新日時: 2020年11月5日 12時05分 Categories: サーバーサイド Tags: heroku postgresql Heroku postgresの実装方法 プロジェクトのResourcesからHeroku Postgresを指定。 続いて、Submit Order Formを指定する。プランはHobbyを選択。 Add-onsのHerokuPostgresのリンクをクリック、SettingsタブのDatabaseCredentialsのView Credentialsをクリック データベース名などの認証情報が表示される。これをプロジェクトの設定 ... 続きを読む
Djangoのマイグレーションのエラー時の対処法 作成日時: 2020年11月5日 08時46分 最終更新日時: 2020年11月5日 08時46分 Categories: サーバーサイド Tags: django postgresql sqlite 初心者向け Djangoで開発を進めている時、マイグレーションのエラーにぶち当たるときがあるが、大抵はmigrationsディレクトリを編集していけばいいだけなので、それほど難しいものではない。 本記事ではmigrationsディレクトリ内のファイル編集を行うことで、マイグレーションのエラー時の対処法をまとめる。 サンプルコード まず、マイグレーションエラーの再現をするために、サンプルのコードを下記に公開した。プロ ... 続きを読む
DjangoをDEBUG=FalseでHerokuにデプロイする方法 作成日時: 2020年10月26日 11時16分 最終更新日時: 2020年10月26日 11時16分 Categories: サーバーサイド Tags: django heroku デプロイ git プロジェクトのディレクトリ構造は、『現場で使えるDjangoの教科書 基礎編』に準拠している。 requirements.txt もし、仮想環境を使用していない場合、virtualenvを使って必要なライブラリをpipコマンドにてインストールする。 -- HerokuCLIをインストール Herokuではherokuコマンドを実行して、事前にログインをした上でデプロイを行う。下記からインストールする。 https://devcenter.heroku.com/ja/articles/heroku-cli herokuコマンドを実行して、デプロ ... 続きを読む