2017-01-01から1年間の記事一覧
PostgreSQL の利用 Django はデフォルトで SQLite3 を利用しますが、他のデータベースを活用することもできます。今回はその中から PostgreSQL を利用してみようと思います。 PostgreSQL のインストールと設定 Windows の場合は GUI インストーラもあって、…
Python シリーズ番外編で Memcached のインストール方法を紹介します。 Windows の場合 こちらが参考になります。Windows で Memcached を使う - make worldmemcached-win64-1.4.4-14.zip をダウンロードしてきて適当なフォルダ(例えば C:\memcached) に解凍…
Ajax の活用(続き) バリデーションエラーの出力 フォームのバリデーションエラーに関する情報は form.errors に辞書形式で格納されているので、それを利用すれば行けることがわかりました。views.py from django.shortcuts import render from django.http.r…
Ajax の活用 以前作成した customer_search アプリケーションを Ajax を活用して作り変えてみましょう。 Ajax 活用のための準備 Ajax 活用のために、いくつかの準備が必要です。1. js.cookie.js をダウンロードするGitHub - js-cookie/js-cookie: A simple, …
キャッシュサーバーの活用 これまではセッションの情報をデータベース(SQLite3)で管理してきましたが、別途キャッシュサーバーを用意して、そちらで管理することもできます。キャッシュサーバーとしてよく使われるのが Memcached です。Memcached のインスト…
国際化と翻訳 多くのフレームワークがそうであるように、Django にも国際化の仕組みが備わっています。 下準備 あらかじめ settings.py の USE_I18N が True になっていることを確認します(デフォルトでそうなっていると思います)。今回は customer_search …
汎用ビューの活用 Django には、用途に応じて使える汎用ビューが多数用意されています。django_test/urls.py from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello…
初期データの一括投入 今回から、当ブログではすっかりお馴染みの「政令指定都市一覧」を使って、Django の様々な機能を見ていきます。 $ ./manage.py startapp major_city例によってアプリを作成するところからスタート。Model を作ります。 from django.db…
エラー表示の話 フォームのバリデーションエラーの表示場所をカスタマイズする方法があっさりとわかったので、次なるお題に移る前にさくっと書いておきます。 {% load static %} <html> <head> <title>顧客検索</title> <link rel="stylesheet" href="{% static 'customer_search/css/search.css' %}"> </head> <body> <h1>顧客検索</h1> <form method="post" action="."> {% csrf_token %} </form></body></html>
ロギングの話 デフォルトでもある程度のログは出力されるのですが、データベースとの連携においては、少なくとも開発の段階では SQL の発行状況などを確認したいと思うはずです。これは settings.py に設定を記述することで可能になります。 LOGGING = { 've…
フォームとビューの作成 まずはビューの作成に必要なフォームから作ります。既に Django バリバリ使ってる人なら「ModelForm 使えば楽やろ」って言うと思いますが、実は ModelForm には「(自動生成される id などの)AutoField はフォーム部品化の対象外」だ…
管理画面を使う 管理者ユーザーの作成 管理画面を使うにはまず管理者ユーザーを作成しなければなりません。 $ ./manage.py createsuperuser Username (leave blank to use '(snip)'): admin Email address: admin@example.com Password: Password (again): T…
だいぶシリーズが長期化してきました(苦笑) Model で遊ぶ 今回使用するデータは「現場で使えるSQL 第2版」のものを使用することにします。現場で使えるSQL 第2版 (DB Magazine SELECTION)作者: 小野哲,藤本亮出版社/メーカー: 翔泳社発売日: 2006/11/16メデ…
Model を扱う いよいよ今回から Model を扱います。…の前に。 Atom で Django アプリの開発を快適に行うために すっかり忘れていましたが、Atom で Django アプリの開発を行う際に入れておくと良いパッケージを二つ紹介しておきます。 atom-django django-te…
3 週間ほど空いてしまいました。この間こっそりと開発環境を Linux に移行させていたのは秘密です*1。 hello ページを作る(続き) 静的ファイル(CSS, JavaScript, etc...)の配置 今回は CSS を配置してみます。django_test\hello\static\hello というフォルダ…
もうちょっとだけ hello ページをいじるよ。 hello ページを作る(続き) テンプレートを使い回す Django には共通のテンプレートを用意してそれを使い回す方法が用意されています。extends と include です。前者はベースとなるテンプレートに個別のテンプレ…
Hello ページを作る(続き) 前回までで、テンプレートを利用して Web ページを表示させることができましたが、まだ Web アプリっぽくないですよね。もう少しそれっぽくするにはフォームとかあったらいいんじゃないでしょうかね。 フォームを作成する 今回はフ…
前回からの続きです。 Hello ページを作る(続き) HttpResponse に HTML を渡すための方法として、テンプレートを用いることにします。 まず django_test\hello の下に templates というフォルダを作り、さらにその中に hello というフォルダを作ります(この…
ちょっと前回の補足。もし Python 3.6.0 しか入れていないか、もしくは Python 2.7.x の後に Python 3.6.0 をインストールしていて、なおかつ Python Launcher をインストールしていたなら、開発用サーバの起動は >manage.py runserverで行えます。その他の …
似非プログラマです。本日、御年 41 になりました。また一つ、おっさんの階段を上りました。まぁそんなことは置いといて、Django です。 そもそも Django って何よ ? Django is a high-level Python Web framework that encourages rapid development and cl…
前回からの続きです。 開発環境を整える PyCharm は割とおすすめらしいんだけど、無料版だと Web 開発にはやや機能不足っぽい。ということで、無料で整えられる環境としては以下のパターンがあるかと思います。 Eclipse + PyDev Eclipse - The Eclipse Found…
どうもすっかりとご無沙汰しておりました。忙しかったり体調崩したり、なかなかブログに本腰が入れられない状態がずっと続いていましたが、暇になったのでまた再開しようかと思います。今後も相変わらず不定期ですが、なにとぞよろしくお願いいたします。 き…