Your SlideShare is downloading. ×
django-websettingsの紹介
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

django-websettingsの紹介

308
views

Published on

Webインタフェース経由で設定値を入力できるdjangoライブラリのdjango-websettingsの紹介。 …

Webインタフェース経由で設定値を入力できるdjangoライブラリのdjango-websettingsの紹介。
さらにライブラリ内で使われる技術についても説明している。

Published in: Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
308
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. django-websettingsの紹介 @hirokiky
  • 2. Agenda ● お前だれよ ● なんで作ったの ● 紹介 ● Yet Another ModelFormを作る
  • 3. お前だれよ ● @hirokiky ● 最近Macbook Airにビールかけて壊した
  • 4. なんで作ったの settingsみたいな値をWebから入力したい ● 少しの設定修正で反映作業が必要になり不便 ● 運用担当に値の設定を任せたい
  • 5. 作ったもの django-websettings
  • 6. 使い方 ● Yet Another settings.py を書く ● Webインタフェースから値の設定 ● 設定値を使ってみる
  • 7. Yet Another settings.py # In websettings.py file HTT_DRUM_PLAYER = 'Ritsu Tainaka' HTT_BASS_PLAYER = 'Mio Akiyama' 設定値のキーとデフォルト値を指定する
  • 8. 設定値をとってみる >>> from websettings import websettings >>> websettings.HTT_BASS_PLAYER 'Mio Akiyama' 今はデフォルト値がとれる
  • 9. 自動生成のWebインタフェース
  • 10. Webインタフェースから入力
  • 11. 再度、値をとる >>> from websettings import websettings >>> websettings.HTT_BASS_PLAYER 'Jun Suzuki' Mio -> Jun で変化している
  • 12. demo ● websettings.py追記 ● 設定値の取得 ● Webインタフェースからの設定 ● 再度取得
  • 13. django-websettings現状 ● バージョン1.0b ● Github:hirokiky/django-websettings
  • 14. Advanced ● バックエンドを変更可能(1.0ではDBのみ提供) ● コマンドから設定値の出力が可能(freeze用途)
  • 15. Yet Another ModelForm websettings.pyをもとにFormの自動生成が必要 独自の、ModelFormライクなクラスを作った websettings.forms.SettingStoreForm
  • 16. SettingStoreForm ● websettings.pyの値をもとにForm作成 ● 各設定値のキーをフィールド名 ● 各設定値のバリューを初期値 ● 255文字のCharField
  • 17. Metaclassを書く ● __new__でnew_classにbase_fields属性を指定 ● {名前: Fieldのインスタンス}のSortedDict ● django.forms.models.ModelFormMetaclass
  • 18. ちなみに ● 普通のFormはDeclerativeFieldsMetaclass ● colandarでも似たことやった
  • 19. DjangoAdminについて思った ● Modelの管理でしかない ● 汎用「管理サイト」としてプラグ可能な拡張は無理
  • 20. まとめ ● django-websettings 作った ● django-websettingsはWebから入力できるsettings ● 独自Formは簡単に作れる