読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Django の templates で forms.py で設定した max_length とかのみ表示するメモ

忘れるのでメモ forms.py class ContactForm(forms.Form): username = forms.CharField(max_length=100) template/hoge.html <p>{{ form.fields.username.max_length }}</p> で <p>100</p> みたいな感じで表示できる

Django の確認フォームで localflavor を使った都道府県を templates で表示させるメモ

(django1.8, python2.7) templetes で {{ form.prefecture.value }} と書くと 東京 とかではなく tokyo とか表示される問題。 form.get_fieldname_display とか色々やって表示されなかったので この記事 を参考に templatetags 使ってやってみた (参考サイ…

Django templetes で入れ子になって複数のview から使われてる場合にどこの view から使われているか確認するメモ

{{ request.resolver_match.view_name }} こんなのもある request.resolver_match.url_name 参考 url - How to get the current urlname using Django? - Stack Overflow

Django Templates で文字列の一部ををマスクするメモ

カード番号のマスクとか Templates 内で完結させたい場合 {% spaceless %}{% for n in form.creditcard.data %}{% if forloop.counter < 5 or 12 < forloop.counter %}{{ n }}{% else %}*{% endif %}{% endfor %}{% endspaceless % form.creditcard.data の…

django-ckeditor の画像アップロードでハマったメモ

(django1.8, python2.7) 手順 ここ に書いてあるけど... Add ckeditor_uploader to your INSTALLED_APPS setting Add CKEDITOR_UPLOAD_PATH = "uploads/" setting Add (r'^ckeditor/', include('ckeditor_uploader.urls')), project's urls.py 略 Install pi…

Django で Modelからアプリ名とモデル名を取りたいメモ

例 appname/models.py >>> HogeModel._meta.app_label 'appname' >>> HogeModel._meta.object_name 'HogeModel' # or >>> HogeModel.__name__ 'HogeModel' 参考 http://stackoverflow.com/questions/3599524/get-class-name-of-django-model http://stackove…

Django の templates では無い場所で contrib.humanize の intcomma とか使いたい場合のメモ

templates の中だと <p>{{ 999999|intcomma }}<\p> とかで 999,999 と表示できるけど templates 以外で使いたい >>> from django.contrib.humanize.templatetags.humanize import intcomma >>> intcomma(100000000) u'100,000,000' ふつうにそのままな感じでい</p>…

Django で Rails の flash みたいなやつメモ

Rails Rails のユーザに簡易メッセージを表示するやつ。Controller で値を入れて View で表示。 ActionDispatch::Flash Django Django の場合は messages framework settings.py MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage' …

Django の ORM で昇順・降順ではなく指定したid順でデータ取るメモ

In [11]: foo_ids = [101, 19, 75] In [12]: order_ids = ','.join(["{id}".format(id=id) for id in foo_ids]) In [13]: foos = Foo.objects.filter(id__in=foo_ids).extra(select={'order_ids': "FIELD(id, {})".format(order_ids)}, order_by=['order_ids…

Vagrant と Ubuntu と Docker と docker-compose と Django と PostgresSQL と Ansible とを動かすメモ

(macosx10.9, Vagrant 1.7.2, Docer, docker-compose, ansible 1.9.1) 前置き 想定以上にハマったので途中経過メモ。 とりあえず Djnago 動かして webブラウザで表示できた。 あとで Aansible まわり書く。 (これやる前に Vagrant + coreos でやろうとした…

docker-compose で Django と PostgreSQL で runserver 起動してみるメモ

ほぼ "Getting started with Compose and Django" そのまま (macosx10.9, boot2docker1.6.0, docker-compose1.2.0, django1.8) インストール boot2docker http://boot2docker.io/ docker-compose Docker Compose - Docker Documentation boot2docker 実行 $ …

Django を Vagrant 環境でサーバ起動してるときに django-debug-toolbar のメニューが表示されない場合のメモ

(Django1.6) request.META['REMOTE_ADDR'] を何とかして表示する これが例えば 10.0.3.3 だったら settings にこれを追記する INTERNAL_IPS = ('127.0.0.1', '10.0.3.3') runserver 再起動 これで表示できた 参考サイト Installation — Django Debug Toolbar…

Django のバージョンをワンライナーで調べるメモ

$ python -c "import django;print(django.VERSION)" (1, 6, 5, 'final', 0)

Django で Rails の Foo.select(:title) みたいなフィールドの値だけ取りたい場合のメモ

(django1.6, rails4)なんか忘れるのでメモ Rails の場合 irb(main):002:0> Foo.select(:title) Foo Load (1.3ms) SELECT title FROM "foos" => #<ActiveRecord::Relation [#<Foo id: nil, title: "hoge">, #<Foo id: nil, title: "fuga">]> Django の場合 In [3]: Foo.objects.values_list('title', flat=True) Out[3]: ["hoge", "fuga"] Qu…</foo></activerecord::relation>

Django で非同期する Celery のメモ

Celery - Distributed Task Queue — Celery 3.1.16 documentation First Steps with Celery — Celery 3.1.16 documentation First steps with Django — Celery 3.1.16 documentation Celery 3.1 を Django で使う - Qiita

Django でランダムな文字列を生成するメモ

(django1.6.5) In [5]: from django.utils.crypto import get_random_string In [6]: get_random_string() Out[6]: u'JgkKgwrOcdZD' In [7]: get_random_string(20) Out[7]: u'7iLVOOyJKSoBNjgM3tNK' In [8]: get_random_string(22) Out[8]: u'vJV5VmxoedRFY…

Django で速攻 ユーザログインのサンプル作成するメモ

(django1.6, pytho3.3) views.py from django.contrib.auth.decorators import login_required @login_required def hoge_view(request): urls.py url(r'^accounts/login/$', 'django.contrib.auth.views.login'), templates djangoのソースからコピー djang…

さらっと AngularJS1.2.0 でクライアントサイド、Python3 と Django1.6 で api サーバ を試してみるメモ

(Python==3.3, Django==1.6, djangorestframework==2.3.8, angular1.2.0, generator-angular0.6.0-rc.1) Django で apiサーバ作成 virtualenv mkvirtualenv booklist_sample --python /opt/local/bin/python3.3 インストール $ pip install django $ pip ins…

Django + Bootstrap3 でゲストブックアプリを作ってみるメモ

(python==2.7.5, django==1.5.5, twitter_bootstrap==3.0.0) github にコードあげてみた https://github.com/CortYuming/django_guestbook_sample メモ クラスベース汎用ビューの ListView と CreateView を混ぜてささっと作ろうとしたが、うまくいかず。 結…

Django で簡単に戻るボタンのメモ

(django==1.5.4, python==2.7.3) <input type="button" value="Back" onClick="javascript:history.go(-1);"> もしくは <button onClick="javascript:history.go(-1);">Back</button> こんな感じかな参考サイト python - Django templates: create a "back" link? - Stack Overflow

django-registration でユーザ認証のメモ

(django==1.5.4, python==2.7)ユーザ登録するとメール来て、その本文にあるリンクに飛ぶとログインできるようになるやつ Rails の Devise 的な感じ https://bitbucket.org/ubernostrum/django-registration インストール pip install django-registration 設…

Django で開発時にメール送信の確認するメモ

(django==1.5, python==2.7) settings.py EMAIL_USE_TLS = False EMAIL_HOST = 'localhost' EMAIL_PORT = 1025 デバッグ用メールサーバ起動 $ python -m smtpd -n -c DebuggingServer localhost:1025 送信確認 shellからメール送信してみる $ python manage.…

Django で PDFを作成するメモ

(Django1.5, Python2.7) reportlab を利用する ReportLab - Content to PDF Solutions pip install reportlab Django で動作確認用サンプルアプリを作成 プロジェクト作成している前提で ./manage.py startapp reports reports/urls.py from django.conf.url…

Djangoでネストしたurls.pyとredirectのreverseでの名前付き URL パターンの呼び方のメモ

(Django1.5, Python2.7) apps/urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns( '', url(r'^admin/', include(admin.site.urls)), url(r'^contact/', include(…

Djangoのクラスベース汎用ビューでペジネータのメモ

追記2013-09-07: get_queryset(Django1.5, Python2.7) 下準備 プロジェクト作成してDBとか設定 適当にアプリ作成 $ ./manage.py startapp cars cars app cars/models.py from django.db import models class Car(models.Model): name = models.CharField(max…

Django で ImageField の upload_to に user.id を入れたい場合のメモ

(Django1.5, Pyhton2.7) models.py import os from django.db import models from django.contrib.auth.models import User def image_file_name(instance, filename): return os.path.join('images', str(instance.user.id), filename) class UserProfile(m…

Django で ImageField で画像を更新する時に変更前の画像を削除する場合のメモ

(Django1.5, Pyhton2.7)修正:2013-09-01 models.py def avatar_file_name(instance, filename): return os.path.join('avatar', str(instance.user.id), 'original', filename) class Profile(models.Model): user = models.OneToOneField(User) avatar = m…

Django で gunicorn の起動と停止のメモ

(Django1.5, python2.7) Gunicorn で Django を使う方法 — Django 1.4 documentation Gunicorn - Python WSGI HTTP Server for UNIX nginx 設定してる前提で インストール sudo pip install gunicorn 起動 manage.py ファイルがあるのと同じディレクトリで g…

Django のテンプレートで、タイトルをページ毎に変更したい場合のメモ

(Django1.5, python2.7) 親テンプレート base.html 例:サイト名「sample-site」をタイトルにいれる <title>{% block title %}sample-site{% endblock title %}</title> 子テンプレート child.html {% extends "base.html" %} {% block title %}child page | {{ block.super…

Django でフィクスチャのメモ

(python2.7, django1.5) モデルに初期データを投入する — Django 1.4 documentation settings.py 追加 FIXTURE_DIRS = ( os.path.join(ROOT, 'fixtures'), ) フィクスチャ作る fixtures/hoge.json ./manage.py shell とかでデータをいくつか作ってから、ダン…

Django でユーザごとに一覧表示させるのに汎用ビュー使う場合と使わない場合のメモ

(python2.7, django1.5) models.py from django.db import models from django.contrib.auth.models import User class Say(models.Model): message = models.CharField(max_length=255) date_created = models.DateTimeField(auto_now_add=True) user = mod…

Django のページネイトを使い回しできそうな感じにしてみるメモ

(python2.7, django1.5)pipにあるパッケージとか使わずに何とかしてみたい。 http://docs.djangoproject.jp/ja/latest/topics/pagination.html View paginate.py 新規作成する。 とりあえず settings.py とかあるディレクトリに置く apps/paginate.py #!/usr…

Django の QuerySet で sum で合計したい場合のメモ

追記:月末 (python2.7, django1.4) from django.db.models import Sum total_num = ModelName.objects.aggregate(Sum('somenum'))['somenum__sum'] python - Django SUM Query? - Stack Overflow python - django sum for a queryset - Stack Overflow

Emacs の jinja2-mode で Django のテンプレートを書くための設定メモ

※追記20130728: インデントの問題、複数行コメントの問題(Emacs24.3)web-mode でやろうとしたら タブ に色付けできなかったり、設定変えるの面倒そうだったので jinja2-mode を使ってみる事にした インストール M-x list-packages で jinja2-mode をインスト…

Django の html を Emacs の web-mode で書くためのメモ

(Emacs24.3, Django1.4, Python2.7) packages インストール web-mode.el - html template editing for emacs M-x list-packages でインストール web-mode yasnippet yasnippet yasnippet の snippets に web-mode ディレクトリを作ってファイル作成 html-mod…

Django で管理者を作成する時にうっかり間違えて変更したい場合のメモ

(Django1.4, Python2.7) $ ./manage.py shell > from django.contrib.auth.models import User > admin = User.objects.all()[0] > admin.username = 'foobar' > admin.save() Django: Access Admin User in Python Shell - Stack Overflow

MacPortsでインストールした zsh (oh-my-zsh) で django の補完をすると「awk: invalid -v option」とかなる場合のメモ

(zsh5.0.2, macosx10.8) 原因 「-v」 の後ろにスペースがないのが原因らしい 修正 /opt/local/share/zsh/5.0.2/functions/_django を修正する 修正前 awk -vdrop=1 '{ if (!drop) print substr($0, 3) } /^Available subcommands/ { drop=0 }') 修正後 awk -…

Django で "manage.py dbshell < foobar.sql" とかして DB のテーブルにカラムを追加する場合のメモ

修正: 2013-09-08テーブル "foo_bar" にカラム "words" を追加する foobar.sql BEGIN; ALTER TABLE `foo_bar` ADD `words` VARCHAR(255) NOT NULL DEFAULT ''; COMMIT; comand $ ./manage.py dbshell < foobar.sql 参考サイト Djangoのモデルにフィールドを…

Django の runserver 立ち上げたら "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" とかなる場合のメモ

(Python2.7, Django1.4) 問題 MySQL を 5.1 から5.5 にしたら、ローカルで runserver が起動しなくなった $ ./manage.py runserver : (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)") 解決 settings.py 127.0.0.1 in s…

django-debug-toolbar 設定メモ

(Djnago1.4, Python2.7) django-debug-toolbar] https://pypi.python.org/pypi/django-debug-toolbar settings.py MIDDLEWARE_CLASSES = ( # ... 'debug_toolbar.middleware.DebugToolbarMiddleware', # ... ) INTERNAL_IPS = ('127.0.0.1',) INSTALLED_APPS…

Django の manage.py shell で sql のクエリを見るメモ

HogeModel.objects.all().query.get_compiler('default').as_sql()

django-extensions を使ってみるメモ

(Python2.6, Django1.4) django-extensions shell 起動時に自動でモデルとか入れてくれる。ほかいろいろ便利っぽい。 django-extensions/django-extensions · GitHub Getting It $ pip install django-extensions apps/settings.py ここ公式に書いてないっぽ…

Djnago のページネーションのメモ

(Python2.7, Djnago1.4)Djnagoチュートリアルその4で出来上がったアプリに追加する形で。 http://docs.djangoproject.jp/ja/latest/topics/pagination.html templates/polls/list.html {% for poll in polls %} {# Each "poll" is a poll model object. #} …

Djnago で Rails の before_save 的なことをやる場合のメモ

(Python2.7, Djnago1.4)Djnagoチュートリアルその4で出来上がったアプリに追加する形で。 シグナル http://docs.djangoproject.jp/en/latest/topics/signals.html django.db.models.signals.pre_save および django.db.models.signals.post_save モデルの s…

Django で ささっと MySQL 使う場合のメモ

※ 追記:DEFAULT CHARACTER SET utf8; ※ 修正:pasword変更、 port selectの記述を追加[Pytho2.7, Django1.4, MacOSX10.8 (Python, pip, MySQL は MacPorts でインストール済)]ささっと実験的なDjangoのプロジェクトを作ろうとしたら、想定外に問題発生した…

Django で json の出力メモ

create project, app $ django-admin.py startproject app $ cd app $ python manage.py startapp blog app/ settings.py データベースの設定とか適当に apps/urls.py from django.conf.urls import patterns, include, url from django.contrib import admi…

もう今週末 PyFes だし Django の汎用ビューと Twitter bootstrap でシンプルなブログみたいなものを数時間で作って Heroku と Github にアップしてみた

(Python2.7, Djnago1.4 Bootstrap2.0.4) Django で簡単なブログのような web app -- kantan_blog ブログに書くとややこしくなりそうなので github にコード置いて heroku にデモをアップしてみた。 デモ http://dry-lake-9311.herokuapp.com/blog/ そのうち…

Heroku に Django の Web アプリを超簡単にデプロイできるようになってる件

環境を整える インストール Python2.7 pip virtualenv Python, virtualenv, virtualenvwrapper, Django and GAE のメモ - 牌語備忘録 - pygo git Heroku でアカウント取得しておく Heroku | Cloud Application Platform Heroku Toolbelt をインストール hero…

「Python の Web フレームワーク Django って凄い」ってアピールのに "django-generate-scaffold" を使って3分でブログを作るとよいかもな件

Django で Ruby on Rails の scaffold 的なことをする『django-generate-scaffold』を使ってみる。 (Python==2.7, Django==1.4, django-generate-scaffold==0.0.3a1) Install: django-generate-scaffold $ pip install django-generate-scaffold startprojec…

Python, virtualenv, virtualenvwrapper, Django and GAE のメモ

2014-08-03: virtualenvwapperの設定を修正 MacOSX10.7.4 python2.7.3 GoogleAppEngineLauncher.app 1.6.5 virtualenv==1.7.1.2 virtualenvwrapper==3.3 django==1.3 Install for MacPorts and Pip sudo port install py27-python sudo port install py27-p…